У меня есть EditText
, который я использую в качестве нижнего колонтитула View
для моих ListView
. Я пытаюсь получить доступ к фокусу/потерять фокус-события, но по какой-то причине он стреляет несколько раз за фокус. Что здесь происходит?Android - ListView EditText Проблемы с фокусом
// 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);
// ...
выход, одного прикосновения, который вызывает клавиатуры является:
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
Я отчасти понимаю, называя несколько событий с hasFocus
набором для true
, но почему же тогда там также false
s, запуск журнала Un Clicked
?
EDIT: Кроме того, всякий раз, когда я прокручивать ListView
вверх и вниз, перемещая EditText
в и из точки зрения, это называть эти события, а также. Возможно, я использую неправильный тип слушателя?
Мое предположение - ваш метод onCreate вызывается несколько раз. – njzk2