0

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

             }

         });        
    }
    }
4

1 回答 1

1

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

于 2013-04-24T06:12:08.273 回答