2017-07-05 9 views
1

私はViewPagerを使ってフラグメント間をスワイプしています。 はonPageSelectedListner()方法が推奨されませんので、私はAddOnPageChangeListenerAddOnPageChangeListenerを使用してToast-Messageとしてページを返す

を使用する必要がありますので、私のコードは次のようになります。

// Create the adapter that will return a fragment for each of the three 
    // primary sections of the activity. 
    mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager()); 

    // Set up the ViewPager with the sections adapter. 
    mViewPager = (ViewPager) findViewById(R.id.container); 
    mViewPager.setAdapter(mSectionsPagerAdapter); 


    mViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { 
     @Override 
     public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { 

     } 

     @Override 
     public void onPageSelected(int position) { 

     } 

     @Override 
     public void onPageScrollStateChanged(int state) { 

     } 
    }); 

質問:私の意図をユーザーがページを返すようにしました。同様に、1ページ目から2ページ目にスワイプすると、ページ2になっていることを示すToast-Messageが表示されます。スワイプすると3ページ目になります。

しかし、私のOnClickListenerのメソッドはvoidを返しています。ページの位置を取得するにはどうすればよいですか?

答えて

1

使用この: - この中

mViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { 
     @Override 
     public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { 

     } 

     @Override 
     public void onPageSelected(int position) { 

      Toast.makeText(getApplicationContext(),"You're on page " + String.valueOf(position), Toast.LENGTH_LONG).show(); 
     } 

     @Override 
     public void onPageScrollStateChanged(int state) { 

     } 
    }); 

positiononPageSelected選択したメソッドの引数です。この位置は、ページが変更されたときに設定されます。

+0

ありがとう、ありがとうございます。 – Blnpwr

+0

おい、あなたはAndroid-Prgrammingに関して連絡をとるFacebookなどがありますか? :) – Blnpwr

関連する問題