Ich habe eine EditText
, die ich als Fußzeile View
für meine ListView
verwenden. Ich versuche, auf die Fokus-/Verlierer-Fokusereignisse zuzugreifen, aber aus irgendeinem Grund wird mehrmals pro Fokus ausgelöst. Was geht hier vor sich?Android - ListView EditText Fokus Probleme
// in onCreate
// ...
// the footer
View v = getLayoutInflater().inflate(R.layout.comment_edittext, null);
EditText commentEditText = (EditText)v.findViewById(R.id.comment_edittext);
commentEditText.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus)
{
U.log("View: " + v.getClass().getName().toString());
if(hasFocus)
{
U.log("Clicked");
}
else
{
U.log("Un Clicked");
}
}
});
// add the footer
commentListView.addFooterView(v);
// ...
Der Ausgang einer einzelnen Note, die die Tastatur bringt ist:
04-11 10:22:17.449: E/004 - X(4576): View: android.widget.EditText
04-11 10:22:17.459: E/004 - X(4576): Clicked
04-11 10:22:17.569: E/004 - X(4576): View: android.widget.EditText
04-11 10:22:17.569: E/004 - X(4576): Un Clicked
04-11 10:22:17.569: E/004 - X(4576): View: android.widget.EditText
04-11 10:22:17.569: E/004 - X(4576): Clicked
04-11 10:22:17.689: E/004 - X(4576): View: android.widget.EditText
04-11 10:22:17.689: E/004 - X(4576): Un Clicked
04-11 10:22:17.709: E/004 - X(4576): View: android.widget.EditText
04-11 10:22:17.709: E/004 - X(4576): Clicked
kann ich irgendwie verstehen es mehrere Ereignisse mit hasFocus
Set true
Aufruf, aber warum sind dann auch false
s, Triggerung der Un Clicked
Protokoll?
EDIT: Außerdem, wenn ich scrollen ListView
nach oben und unten, die EditText
bewegt sich in und aus Sicht heraus, es ist diese Ereignisse als auch anrufen. Benutze ich vielleicht den falschen Listenertyp?
meine Vermutung ist Ihre OnCreate-Methode wird mehrmals aufgerufen. – njzk2