onCheckedChanged viewpager片段问题

时间:2013-04-24 03:04:25

标签: android android-fragments android-viewpager

在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();                     

             }

         });        
    }
    }

1 个答案:

答案 0 :(得分:1)

您的索引引用下一页,因为viewpager会在显示当前项时预加载下一个片段。尝试使用yourViewPager.getCurrentItem()来获取显示位置的索引。