Ответ 1
getWindow().getCurrentFocus();
В моем приложении используется управление с помощью клавиатуры, и, когда вы двигаетесь, я заметил, что иногда вы получаете то, что я называю "Тайным представлением", - я говорю, что, поскольку ничего не видно, кажется, что он выбран, но ничто не видно сфокусировано либо
Есть ли способ узнать, к чему я сосредоточен в любой момент? например. прослушиватель, который запускается при выборе вида и т.д.
Спасибо
** edit - некоторый код для ntc **
LinearLayout col1 = (LinearLayout)findViewById(R.id.col1);
Button btn = new Button(this);
btn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
LinearLayout col1 = (LinearLayout)findViewById(R.id.col1);
if(col1.getFocusedChild() != null) {
Log.d(TAG, col1.getFocusedChild().toString());
}
}
});
col1.addChild(btn);
getWindow().getCurrentFocus();
Вы можете использовать этот метод для каждого вида. Возможно, это может стать большим и беспокойным, но обязательно работать:
if(yourChildView.isFocused()) {
yourChildView.setFocusable(false);
}