我试图在单击每个图标时使用FragmentPagerAdapter链接actionBar菜单项以刷页,但是,item.getItemId()返回一个非常奇怪的数字而不是1-5数,因为我只有5页。
我在onCreate之后的主要活动类中有以下内容:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
mViewPager.setCurrentItem(id);
return super.onOptionsItemSelected(item);
}
我得到的数字是 2131624103 ,其中最后一位数字(3)是页码。
这是正常行为吗?我该怎么做呢?
答案 0 :(得分:2)
您需要在setCurrentItem中传递postition并为此
使用switch case@Override
public boolean onOptionsItemSelected(MenuItem menuItem) {
switch (menuItem.getItemId()) {
case R.id.one:
mViewPager.setCurrentItem(1);
break;
default:
return super.onOptionsItemSelected(menuItem);
}
return true;
}