mam tej metody statycznej:findViewById wewnątrz Metoda statyczna
public static void displayLevelUp(int level, Context context) {
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.custom_level_coast,
(ViewGroup) findViewById(R.id.toast_layout_root)); // this row
TextView text = (TextView) layout.findViewById(R.id.toastText);
text.setText("This is a custom toast");
Toast toast = new Toast(context);
toast.setGravity(Gravity.CENTER_VERTICAL, 0, 0);
toast.setDuration(Toast.LENGTH_LONG);
toast.setView(layout);
toast.show();
Toast.makeText(context, String.valueOf(level), Toast.LENGTH_SHORT)
.show();
}
Jednak nie mogę dowiedzieć się, jak zdobyć pierwszy findViewById
grać ładny z tego, jak to mówi, że jest to metoda niestatyczny . Rozumiem, dlaczego tak jest napisane, ale musi istnieć obejście? W tej metodzie przekazałem context
, ale nie mogłem ich rozwiązać razem.
Nie trzeba przekazywać obiektu kontekstowego, ale obiektu widoku. Ten, który trzyma twoje poglądy – edoardotognoni
Dlaczego po prostu zmienić widok na zmienną klasy i uzyskać do niego dostęp? – tyczj
@Wamasa To jest odpowiednia odpowiedź .. napisz – Pragnani