панель действий Android onNavigationItemSelected

Я разрабатываю для Android 3+

В моей панели действий у меня есть раскрывающийся список (см. как скрыть/отобразить панель действий список на Android 3? для раскрывающегося списка, который я намереваюсь). Проблема в том, что мне нужно выполнить определенное действие, когда пользователь что-то выбирает, но Android вызывает onNavigationItemSelected(), как только рисует представление, поэтому никакого выбора на самом деле не произошло.

Как я могу определить, действительно ли пользователь что-то нажал, и это не поддельный вызов с Android?

public class ListDittaListener implements OnNavigationListener{

    private BaseActivity activity;

    private ListDittaListener()
    {

    }

    public ListDittaListener(BaseActivity activity)
    {
        this.activity = activity;
    }

    @Override
    public boolean onNavigationItemSelected(int itemPosition, long itemId)
    {
        MyApp appState = ((MyApp)this.activity.getApplicationContext());
        appState.setDittaSelezionata( (int) itemId);

        SharedPreferences settings = this.activity.getSharedPreferences(MyApp.PREFS_NAME, 0);
        SharedPreferences.Editor editor = settings.edit();
        editor.putInt("ditta_id_selezionata", (int) itemId);

            ////////restart activity this.activity.recreate();

        return false;
    }

}

12
задан Community 23 May 2017 в 11:44
поделиться