Подтвердить что ты не робот

Меню с панелью действий

Мне нужен пример или учебник о том, как добавить элементы меню с помощью панели управления sherlock

Когда я использую простое меню с импортом

import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;

когда я звоню

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

    public boolean onOptionsItemSelected(MenuItem item) {

        switch (item.getItemId()) {
        case R.id.goToSettings:
            startActivity(new Intent(this, SetPreference.class));
            return true;
        default:
            return super.onOptionsItemSelected(item);
        }

    }

то я получаю Не могу переопределить конечный метод из ошибки SherlockActivity.

4b9b3361

Ответ 1

Вы должны использовать классы Menu, MenuInflater и MenuItem из пакета com.actionbarsherlock.view:

import com.actionbarsherlock.view.Menu;
import com.actionbarsherlock.view.MenuInflater;
import com.actionbarsherlock.view.MenuItem;

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getSupportMenuInflater();
    inflater.inflate(R.menu.settings_menu, menu);

    return super.onCreateOptionsMenu(menu);
}

BTW, ActionBarSherlock содержит много образцов.

Ответ 2

Я использовал ответ @StenaviN выше, но столкнулся с проблемами с onContextItemSelected. Этот пост решил это для меня.

В принципе, вам просто нужно использовать

@Override
public boolean onContextItemSelected(android.view.MenuItem item) {
    /* ... */
}

вместо

@Override
public boolean onContextItemSelected(MenuItem item) {
    /* ... */
}

Ответ 3

Я использовал ответ @Matt выше, но столкнулся с проблемами с onContextItemSelected.

В принципе, вам просто нужно использовать

@Override
public boolean onContextItemSelected(com.actionbarsherlock.view.MenuItem item) {
    /* ... */
}

вместо

@Override
public boolean onContextItemSelected(android.view.MenuItem item) {
    /* ... */
}