Я пытаюсь вызвать другую деятельность с MenuItem - PullRequest
0 голосов
/ 12 февраля 2020

Я пытаюсь вызвать другое действие с помощью 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;
}

И MenuItem

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

Большое спасибо ...

1 Ответ

0 голосов
/ 12 февраля 2020

Изменить, как показано ниже, код и работает нормально. Вам необходимо использовать 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;
}
...