2017-08-31 10 views
1

私は3つのフラグメントでViewPagerを集約している:私は代わりに(断片1,2のような...)文字列タイトル描画可能フォルダの画像を持っているでしょうViewPagerイメージ

public class MainActivity extends AppCompatActivity { 

    TabLayout tabLayout; 
    ViewPager viewPager; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     viewPager = (ViewPager) findViewById(R.id.viewPager); 
     viewPager.setAdapter(new CustomAdapter(getSupportFragmentManager(),getApplicationContext())); 

     tabLayout = (TabLayout) findViewById(R.id.tabLayout); 
     tabLayout.setupWithViewPager(viewPager); 

     tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() { 
      @Override 
      public void onTabSelected(TabLayout.Tab tab) { 
       viewPager.setCurrentItem(tab.getPosition()); 
      } 

      @Override 
      public void onTabUnselected(TabLayout.Tab tab) { 
       viewPager.setCurrentItem(tab.getPosition()); 
      } 

      @Override 
      public void onTabReselected(TabLayout.Tab tab) { 
       viewPager.setCurrentItem(tab.getPosition()); 
      } 
     }); 

    } 


    private class CustomAdapter extends FragmentPagerAdapter { 

     private String fragments [] = {"Fragment 1","Fragment 2", "Fragment 3"}; 

     public CustomAdapter(FragmentManager supportFragmentManager, Context applicationContext) { 
      super(supportFragmentManager); 
     } 

     @Override 
     public Fragment getItem(int position) { 
      switch (position){ 
       case 0: 
        return new Fragment1(); 
       case 1: 
        return new Fragment2(); 
       case 2: 
        return new Fragment3(); 
       default: 
        return null; 
      } 
     } 

     @Override 
     public int getCount() { 
      return fragments.length; 
     } 

     @Override 
     public CharSequence getPageTitle(int position) { 
      return fragments[position]; 
     } 
    } 
} 

答えて

0

私はあなたの質問から、実際に何をしたいのか分からないのです!しかし、私が想定しているのは、フラグメントのタイトルの代わりにイメージを設定したいということです。はいの場合は、それはあなたを助けるかもしれません。

getTabAt、setIcon()メソッドでtabLayoutオブジェクトを使用して簡単にアイコンを設定できます。

tabLayout.getTabAt(i).setIcon(); 

あなたも参照することができます:あなたが質問している場合

How to add page title and icon in android FragmentPagerAdapter

P.Sを、感謝を聞いて自由に異なっています。

+0

はい、ありがとうございます。私はフラグメントのタイトルの代わりにイメージを設定したい:D –

+0

アイコンのサイズをどのように定義することができますか? –

+0

こんにちは、アイコンのサイズはどういう意味ですか? –