繁体   English   中英

Android:onOptionsItemSelected getItemId返回错误的ID

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM