[英]IndexOutOfBoundsException in getItemId in Android baseAdapter
[英]Android : onOptionsItemSelected getItemId returns wrong id
我试图在单击每个图标时使用FragmentPagerAdapter将actionBar菜单项链接到Swipe页面,但是,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)是页码。
这是正常行为吗? 我该怎么做呢?
您需要在setCurrentItem中传递位置信息,并为此使用开关大小写
@Override
public boolean onOptionsItemSelected(MenuItem menuItem) {
switch (menuItem.getItemId()) {
case R.id.one:
mViewPager.setCurrentItem(1);
break;
default:
return super.onOptionsItemSelected(menuItem);
}
return true;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.