konnte ich benutzerdefinierten Toast mit diesem Codeandroid individuelle Toasts
LayoutInflater inflater = getLayoutInflater();
View layout = inflater.inflate(R.layout.custom_toast_layout, (ViewGroup)findViewById(R.id.custom_toast));
TextView text = (TextView) layout.findViewById(R.id.toast_tv);
text.setText("Hello! This is a custom toast!");
Toast toast = new Toast(getApplicationContext());
toast.setDuration(Toast.LENGTH_LONG);
toast.setView(layout);
toast.show();
jedoch machen, da ich den Zweck des LayoutInflater
nicht verstehen, modifizierte ich den Code zu diesem ...
Toast toast = new Toast(getApplicationContext());
toast.setView(findViewById(R.id.custom_toast));
toast.setDuration(Toast.LENGTH_SHORT);
toast.show();
Und ich bekomme Runtime sagen „setView muss aufgerufen worden sein“ ..
Warum kann ich nicht einfach Weisen Sie die Ansicht Toast ohne Verwendung von
LayoutInflater
zu?Was ist der Zweck von
LayoutInflater
im Allgemeinen, damit ich diese Erfahrung auf andere benutzerdefinierte Ansichten anwenden kann?
Edit: ich diese Codes in onListItemClick()
Interface-Methode verwende .. nachdem der Inhalt festgelegt ist ..
Ich denke, eine gute Frage wäre "was macht ein LayoutInflater intern"? – Behnam