tôi có phương pháp tĩnh này:findViewById bên trong một Static Method
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();
}
Tuy nhiên, tôi không thể tìm ra cách để có được những findViewById
đầu tiên để chơi thoải mái với điều này vì nó nói nó là một phương pháp không tĩnh . Tôi hiểu tại sao nó lại nói thế, nhưng phải có cách giải quyết khác? Tôi đã vượt qua context
vào phương pháp này nhưng không thể làm việc cùng nhau.
Bạn không cần truyền đối tượng ngữ cảnh, nhưng đối tượng xem. Một trong đó là giữ quan điểm của bạn – edoardotognoni
Tại sao không chỉ làm cho xem một lớp rộng biến và truy cập nó theo cách đó – tyczj
@Wamasa Đó là câu trả lời đúng .. đăng nó – Pragnani