【发布时间】:2016-03-20 02:38:04
【问题描述】:
我有一个包含 6 个片段的活动(已禁用滑动)。对于每个片段,我有 2 个按钮(下一个和上一个),它们完美地移动到下一个和上一个片段。我有 2 个复选框,在迁移到下一个活动之前,我需要检查它们是否被选中。但是我得到空指针,因为在 onCreateView 方法中初始化了复选框,但是由于 viewpager 已经加载了片段。如何检查复选框是否被选中?
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
v = inflater.inflate(R.layout.fragment_step6, container, false);
cb1 = (CheckBox)v.findViewById(R.id.cb1);
next = (Button)v.findViewById(R.id.next);
next.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(cb1.isChecked())
return true;
}
});
}
【问题讨论】:
-
你能发布一些你已经实现的代码吗!
-
问题是视图寻呼机在用户到达之前加载了片段。所以现在当用户点击下一个按钮时,cb1 给出了 NPE。
-
好的,那么什么是 null?
-
这是我得到的错误:尝试在空对象引用上调用虚拟方法'boolean android.widget.CheckBox.isChecked()'
-
所以
cb1 is null,所以v.findViewById(R.id.cb1)返回null,所以最后@cstew 是对的......或者你没有在问题中提供你的真实代码......
标签: android android-fragments checkbox