Warum gibt findViewById (R.android.id.home) immer null zurück?
Ich benutze AppCompat und versuche mich an das @ zu erinneImageView
für die zur Symbolleiste gehörende Auf- / Zurück-Schaltfläche.
Ich kenneR.android.id.home
existiert, weil ich seinen Klick als Menüpunkt verwalten kann:
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == android.R.id.home) {
//this works
}
return super.onOptionsItemSelected(item);
}
Teil davon, wann immer ich versuche, @ anzuruffindViewById(android.R.id.home)
- sei esonCreate
, sei esonClick
einer benutzerdefinierten Schaltfläche - Ich erhalte null. Ich erhalte sogar null, wenn ich im obigen Beispiel @ aufruffindViewById(item.getItemId())
.
Warum ist es? Diese Frage wurde hier schon einmal gestellt, meistens in Bezug auf ActionBarSherlock (das ich nicht benutze).Einander ma es wurde vorgeschlagen, zu verwenden:
getWindow().getDecorView().findViewById(android.R.id.home)
Aber es funktioniert nicht. In dieser Frage sagt das OP auchfindViewById(android.R.id.home)
funktioniert mit API> 3.0, aber das stimmt für mich nicht. Irgendwelche Ideen