【问题标题】:I´m trying to call other activity with MenuItem我正在尝试使用 MenuItem 调用其他活动
【发布时间】:2020-02-12 13:47:40
【问题描述】:

我正在尝试使用 onCreateOptionsMenu 和 onOptionsItemSelected 调用其他活动,但我不知道无法调试并且它不执行操作,我有

    @Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.login_settings, menu);º
    //return super.onCreateOptionsMenu(menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    int id = item.getGroupId();
    if(id == R.id.contactMenu) {
            Intent intent = new Intent(this, ContactActivity.class);
            this.startActivity(intent);
            return super.onOptionsItemSelected(item);
    }

    return true;
}

还有菜单项

 <group
        android:id="@+id/contactMenu"
        android:checkableBehavior="single">
            <item
                android:id="@+id/contactSettings"
                android:icon="@drawable/correo"
                android:title="@string/ContactUs_settings" />
    </group>

非常感谢...

【问题讨论】:

    标签: java android android-activity oncreateoptionsmenu


    【解决方案1】:

    像下面的代码一样更改并且工作正常。您必须使用 ItemId 来选择 menuItem

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        int id = item.getItemId(); //you must use item id not group id
        if(id == R.id.contactSettings) {
                Intent intent = new Intent(this, ContactActivity.class);
                startActivity(intent);
        }
        return true;
    }
    

    【讨论】:

    • 我试过了,还是不行,谢谢你的帮助!!
    • 我还删除了所有组,只有项目,,,相同,,
    猜你喜欢
    • 2011-02-17
    • 1970-01-01
    • 2018-09-09
    • 1970-01-01
    • 1970-01-01
    • 2018-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多