Опция меню, не перенаправляющая на другое занятие - PullRequest
0 голосов
/ 10 июня 2019

Я хочу перейти к другому Activity при нажатии на пункт меню «Настройки» в строке меню.Ничего фактического не происходит. Я проверил похожие проблемы, опубликованные здесь, но я могу понять, почему это не работает для меню параметров.см. код ниже:

Невозможно перейти к новому действию из выбранного параметра в меню параметров

<item
    android:id="@+id/mySettings"

    android:title="@string/action_settings" />

<item
    android:id="@+id/logout"

    android:title="log out" />

код:

public class Dashboard extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_dashboard);
    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.app_bar_menu,menu);
        return super.onCreateOptionsMenu(menu);
    }


    public void openConfigure(){
        Intent intent = new Intent(this,Configure.class);
        this.startActivity(intent);
    }
    public boolean onContextItemSelected(MenuItem item) {
        switch (item.getItemId()){
            case R.id.mySettings:
                openConfigure();

                break;

            default:
                return super.onOptionsItemSelected(item);

        }


        return true;
    }

Ответы [ 2 ]

1 голос
/ 10 июня 2019

Используйте onOptionsItemSelected вместо onContextItemSelected, потому что вы используете OptionMenu, а не ContextMenu.

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()){
        case R.id.mySettings:
            openConfigure();
            break;
    }
    return super.onOptionsItemSelected(item);
}
0 голосов
/ 10 июня 2019

, чтобы выбрать пункт меню параметров, вы должны переопределить onOptionItemSelected (): попробуйте ниже код

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()){
        case R.id.mySettings:
            openConfigure();
            break;
    }
    return true;
}
...