我尝试在单击每个图标时使用 FragmentPagerAdapter 将 actionBar 菜单项链接到滑动页面,但是随后,item.getItemId() 返回一个非常奇怪的数字而不是 1-5 数字,因为我只有 5 页。
我在 onCreate 之后的主 Activity 类中有以下内容:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
mViewPager.setCurrentItem(id);
return super.onOptionsItemSelected(item);
}
我得到一个类似 2131624103 的数字,其中最后一位数字 (3) 是页码。
这是正常行为吗?我该怎么做呢?
最佳答案
您需要在 setCurrentItem 中传递位置并为此使用 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;
}
关于java - 安卓 : onOptionsItemSelected getItemId returns wrong id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37341237/