我有這樣的靜態方法:findViewById一個靜態方法
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();
}
但是,我無法弄清楚如何獲得第一findViewById
爲它說,這是一個非靜態方法發揮好本。我明白爲什麼會這樣說,但必須有一種解決方法?我將context
傳入此方法,但無法一起工作。
您不需要傳遞上下文對象,而是傳遞視圖對象。一個持有你的意見 – edoardotognoni 2013-05-02 15:33:59
爲什麼不只是使視圖類寬變量,並訪問它的方式 – tyczj 2013-05-02 15:34:44
@Wamasa這是正確的答案..信息它 – Pragnani 2013-05-02 15:37:40