private final static String[] TITLE0 = new String[] { "全部", "中餐美食", "国外菜系", "小吃快餐",
"火锅/自助", "甜点饮品", "茶叶咖啡", "水果零食" };
menu_title.setText(menu_name);//设置大分类名称
FragmentPagerAdapter adapter = new TabPageIndicatorAdapter(getSupportFragmentManager());
pager.setAdapter(adapter);
//实例化TabPageIndicator,然后与ViewPager绑在一起(核心步骤)
TabPageIndicator indicator = findViewById(R.id.indicator);
indicator.setViewPager(pager);
//如果要设置监听ViewPager中包含的Fragment的改变(滑动切换页面),使用OnPageChangeListener为它指定一个监听器,那么不能像之前那样直接设置在ViewPager上了,而要设置在Indicator上,
indicator.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageSelected(int arg0) {
//Toast.makeText(getApplicationContext(), TITLE[arg0], Toast.LENGTH_SHORT).show();
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
}
@Override
public void onPageScrollStateChanged(int arg0) {
}
});
/**
* 定义ViewPager的适配器
*/
class TabPageIndicatorAdapter extends FragmentPagerAdapter {
public TabPageIndicatorAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
//新建一个Fragment来展示ViewPager item的内容,并传递参数
Fragment fragment = new ItemFragment();
Bundle args = new Bundle();
args.putString("arg", TITLE0[position]);
fragment.setArguments(args);
return fragment;
}
@Override
public CharSequence getPageTitle(int position) {
return TITLE0[position % TITLE0.length];
}
@Override
public int getCount() {
return TITLE0.length;
}
}
代码如上 进入后 页面都是定位到 TITLE0[0] 也就是全部哪里的 我现在 想从一个页面直接进入后定位的页是 "国外菜系" 也就是 TITLE0[2] 怎么做尼 在那个方法里写
pager.setAdapter(adapter);
之后,对pager.setCurrentItem(2);
操作。参考:FragmentPagerAdapter