Checkbox的isChecked获取NullPointerException

时间:2015-12-14 14:54:34

标签: android android-fragments checkbox

我有一个包含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;
        }
    });
}

2 个答案:

答案 0 :(得分:0)

WHEN将为您预加载片段,并且不会立即从内存中删除旧片段。我不认为问题是当用户点击下一个按钮时视图消失了。

检查您的布局文件,并确保您在ViewPager中有一个ID为res/layout/fragment_step6.xml的复选框。

答案 1 :(得分:-1)

pager.setOffscreenPageLimit(6);//6 =  to the number you included in your question.

这会告诉viewpager在滚动页面时保留fragments,这样就不会丢失你的状态。