我想在非活动类中找到一个ToggleButton,但是我得到一个nullpointerException。我喜欢下一个代码:
public class ClassMode{
public static boolean isClassMode(Context c) {
ToggleButton t = new ToggleButton(c);
t = (ToggleButton) t.findViewById(R.id.classmode);
if (t.isChecked()) {
return true;
} else {
return false;
}
}
public static void setNextMode(final Context context){
if(isClassMode){
dosomething();
}
}
}
我做错了吗?我是一个新的节目主持人,我想这个问题可能没什么。但对我来说恰恰相反。 请帮助我!期待您的回复。 3Q!
答案 0 :(得分:0)
findViewById
会在您调用它的对象中找到一个视图。通常它会调用一个活动,但也可以在任何有孩子的ViewGroup
上调用。
在您的情况下,您可以在Button
对象上调用它。我怀疑此按钮包含身份R.id.classmode
的孩子。
尝试:
c.findViewById(R.id.classmode)
(注意:您应该发布一个LogCat,其中包含您获得的实际异常,否则我们只是在猜测)
答案 1 :(得分:0)
更改行
t = (ToggleButton) t.findViewById(R.id.classmode);
到
t = (ToggleButton) findViewById(R.id.classmode);