私は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);
}
}
あなたは、私が最初のページを変更するために使用すべき方法を教えてもらえます ありがとう
を解決しています!あなたはインジケータ(私がしたように)とビューページを設定する必要があります。 \t \t mPager.setCurrentItem(pageid); \t \t mIndicator.setViewPager(mPager); – user1255553
こんにちは私はギャラリーを取って、ギャラリーの画像クリックイベントでページビューアのすべてのページを表示したいという問題が1つあります。 –