udało mi się zrobić własny tost przy użyciu tego koduandroid niestandardowe grzanki
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();
Jednakże, ponieważ nie rozumiem cel LayoutInflater
, I zmodyfikowany kod do tego ...
Toast toast = new Toast(getApplicationContext());
toast.setView(findViewById(R.id.custom_toast));
toast.setDuration(Toast.LENGTH_SHORT);
toast.show();
I dostać RuntimeException mówiąc "setView musi być nazywany" ..
Dlaczego nie mogę po prostu przypisać widok toastowi bez użycia
LayoutInflater
?Co jest ogólnie celem
LayoutInflater
, dzięki czemu mogę zastosować to doświadczenie w innych niestandardowych widokach?
Edit: Używam tych kodów w onListItemClick()
metody interfejsu .. po zawartość jest ustawiony ..
Myślę, że dobrym pytaniem byłoby "co robi wewnętrznie LayoutInflater"? – Behnam