0

ビューページャーのフラグメント; 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

ビューページャーは現在のアイテムを表示するときに次のフラグメントをプリロードするため、インデックスは次のページを参照します。yourViewPager.getCurrentItem() を使用して、表示位置のインデックスを取得してみてください。

于 2013-04-24T06:12:08.273 に答える