Wie rufe ich findViewById auf einem AlertDialog.Builder?
Ich versuche, einen Verweis auf eine TextView
im AlertDialog
mit diesem code:
AlertDialog.Builder logoutBuilder = new AlertDialog.Builder(getActivity());
TextView alertTextView = (TextView) logoutBuilder.findViewById(android.R.id.message);
alertTextView.setTextSize(40);
Aber ich bin immer ein compiler Fehler auf findViewById
:
Cannot cast from AlertDialog.Builder to Dialog
The method findViewById(int) is undefined for the type AlertDialog.Builder
- Möglich, Duplikat der findViewById aus AlertDialog (mit eigenem Layout) - NullPointerException
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erstellen Sie den dialog aus dem AlertDialog.Builder, etwa so:
Dann, aus der Warnung, die Sie aufrufen können findViewById:
View v = inflater.inflate(R.layout.activity_main, null);
generiert eine Warnung. MitView.inflate(..., null, false)
nur versteckt sich die Warnung, aber nicht das problem lösen. Die richtige Methode ist die Verwendungbuilder.setView(R.layout.edit_account_dialog); dialog = builder.create();
aberfindViewById
wird nur nutzbar, nachdem die Aktivität genannt hatdialog.show()
; es erhebt sich ein weiteres problem: das DialogfeldfindViewById
sind nicht nutzbar, bevorshow()
und sind nicht aufrufbar leicht nachshow()
. Btw Aufruf derfindViewById
in der Aktivität nur nachdialog.show()
ist nicht eine gute Praxis.