Как узнать, какой вид в настоящее время имеет фокус?

В моем приложении используется управление с помощью клавиатуры, и, когда вы двигаетесь, я заметил, что иногда вы получаете то, что я называю "Тайным представлением", - я говорю, что, поскольку ничего не видно, кажется, что он выбран, но ничто не видно сфокусировано либо

Есть ли способ узнать, к чему я сосредоточен в любой момент? например. прослушиватель, который запускается при выборе вида и т.д.

Спасибо

** 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);

Ответы

Ответ 1

getWindow().getCurrentFocus();

Ответ 2

Вы можете использовать этот метод для каждого вида. Возможно, это может стать большим и беспокойным, но обязательно работать:

if(yourChildView.isFocused()) {
       yourChildView.setFocusable(false);
}