在viewpager的片段中;我有一个OnCheckedChangeListener的复选框。
片段的当前索引位置正确显示在页面中。但是当我点击复选框(onCheckedChanged
)时:
如何将onCheckedChanged
与当前位置一起使用?
public class PageFragment extends Fragment {
private static int currentQuestionNumber;
private static CheckBox review;
public static PageFragment newInstance(int index ) {
PageFragment pageFragment = new PageFragment();
Bundle bundle = new Bundle();
bundle.putInt("index", index);
pageFragment.setArguments(bundle);
return pageFragment;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
PageFragment.currentQuestionNumber = getArguments().getInt("index");
review = (CheckBox) view.findViewById(R.id.Review);
PageFragment.review.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
Toast.makeText(getActivity(), PageFragment.currentQuestionNumber // shows next index number
+"-" +isChecked, Toast.LENGTH_SHORT).show();
}
});
}
}
答案 0 :(得分:1)
您的索引引用下一页,因为viewpager会在显示当前项时预加载下一个片段。尝试使用yourViewPager.getCurrentItem()来获取显示位置的索引。