Wyraź swoją Activity
wdrożyć OnFocusChangeListener()
jeśli chcesz factorized korzystania z tego interfejsu, przykład:
public class Shops extends AppCompatActivity implements View.OnFocusChangeListener{
w twojej OnCreate
można dodać słuchacza na przykład:
editTextReaserch.setOnFocusChangeListener(this);
editTextMyWords.setOnFocusChangeListener(this);
editTextPhone.setOnFocusChangeListener(this);
wtedy studio android poprosi cię o dodanie metody z interfejsu, zaakceptuj ją ... t będzie jak:
@Override
public void onFocusChange(View v, boolean hasFocus) {
// todo your code here...
}
i jak masz kod factorized, to po prostu trzeba to zrobić:
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (hasFocus) {
editTextReaserch.setText("");
editTextMyWords.setText("");
editTextPhone.setText("");
}
if (!hasFocus){
editTextReaserch.setText("BlaBlaBla");
editTextMyWords.setText(" One Two Tree!");
editTextPhone.setText("\"your phone here:\"");
}
}
cokolwiek kod w !hasFocus
jest zachowanie przedmiot, który traci ostrość, powinien wystarczyć! Ale uwaga: w takim stanie zmiana fokusu może nadpisać wpisy użytkownika!
+1 - ale warto zauważyć, że jeśli tekst edycji jest w listview, każdy w dół spowoduje pole utraty i uzyskania ostrości. Zobacz to rozwiązanie, aby śledzić aktualnie zaznaczone pole: http://stackoverflow.com/questions/9527067/android-edittext-in-listview-loses- focus-on-calling-notifydatachanged – bsautner
41 zapisuje odpowiedź, która zasadniczo mówi "przeczytaj wartość" hasFocus "". Prawda jest taka, że naprawdę trudno jest zmusić editText do skupienia się na tym zagadnieniu i jest mnóstwo pytań bez odpowiedzi. –
Gdzie mogę dodać kod, który wyświetlasz? Jeśli umieści go tak, jak jest w "onCreate", aplikacja się zawiesza – Jona