Vraag Hoe kom ik erachter welke weergave momenteel focus heeft? [duplicaat]


Deze vraag heeft hier al een antwoord:

Mijn app maakt gebruik van toetsenbordbediening en wanneer ik me verplaats, heb ik gemerkt dat je af en toe krijgt wat ik een "Mystery View" zal noemen - ik zeg dat omdat niets zichtbaar is lijkt om geselecteerd te worden, maar niets zichtbaar is ook gericht

Is er een manier om uit te zoeken waar ik me op een bepaald moment op richt? bv. een luisteraar die vuurt op een beeldselectie, etc.

Bedankt

** bewerken - een code voor 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);

14
2017-08-04 04:53


oorsprong


antwoorden:


getWindow().getCurrentFocus();

26
2017-09-13 23:32



Je kunt deze methode waarschijnlijk voor elke weergave gebruiken. Misschien wordt dit misschien groter en hectischer, maar zal het zeker werken:

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

1
2017-08-04 04:56