2012-03-21 3 views
3

私はActionBarSherlockでViewPagerIndicatorを実装しました。ViewPagerIndicatorに表示される最初のページを変更します。

これで、ビューページが作成された後で、ビューページ内で特定のフラグメントを開きたいと思います。通常、setCurrentItem(pageid)またはsetViewPager(mPager、pageid)を使用する必要があります。

しかし、これは動作しません:(私はviewpager内のフラグメント2を開きたい場合は、 viewpagerインジケータは、フラグメント2が示されていることを示しているが、現実フラグメント1(標準)にviewpagerに示されている。

私は次のコードを持っている:?!

@Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.simple_tabs); 

     mAdapter = new ColofonFragmentAdapter(getSupportFragmentManager()); 

     mPager = (ViewPager)findViewById(R.id.pager); 
     mPager.setAdapter(mAdapter); 
     mIndicator = (TabPageIndicator)findViewById(R.id.indicator); 
     String page = ""; 
     page = getIntent().getStringExtra("page"); 
     int pageid = 0; 
     if(page.equals("contact")) { pageid = 0; } 
     else if(page.equals("colofon")) { pageid = 1; } 
     else if(page.equals("disclaimer")) { pageid = 2; }  

     mIndicator.setViewPager(mPager, pageid); // Doesn't work... 
      //mIndicator.setCurrentItem(pageid); // Doesn't work... 
    } 

class ColofonFragmentAdapter extends FragmentPagerAdapter implements TitleProvider { 

     ArrayList<Fragment> fragments = new ArrayList<Fragment>(); 
     ArrayList<String> titels = new ArrayList<String>(); 

     public ColofonFragmentAdapter(FragmentManager fm) { 
      super(fm); 
      fragments.add(new LayoutFragment(R.layout.colofon_contactgegevens)); 
      titels.add("Contact"); 
      fragments.add(new LayoutFragment(R.layout.colofon_colofon)); 
      titels.add("Colofon"); 
      fragments.add(new LayoutFragment(R.layout.colofon_disclaimer)); 
      titels.add("Disclaimer"); 
     } 


     @Override 
     public Fragment getItem(int position) { 
      return fragments.get(position); 
     } 

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

     @Override 
     public String getTitle(int position) { 
      return titels.get(position); 
     } 
    } 

あなたは、私が最初のページを変更するために使用すべき方法を教えてもらえます ありがとう

+0

を解決しています!あなたはインジケータ(私がしたように)とビューページを設定する必要があります。 \t \t mPager.setCurrentItem(pageid); \t \t mIndicator.setViewPager(mPager); – user1255553

+0

こんにちは私はギャラリーを取って、ギャラリーの画像クリックイベントでページビューアのすべてのページを表示したいという問題が1つあります。 –

答えて

関連する問題