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

Переопределение onOptionsItemSelected from SherlockFragmentActivity

Вчера я нашел отличную библиотеку, которая позволила мне иметь "меню facebook" с кнопкой в ​​левом верхнем углу панели действий, которая при нажатии будет скользить в меню элементов слева.

Проблема в том, что я хочу использовать библиотеку ActionBarSherlock, чтобы убедиться, что мое приложение обратно совместимо с панелью действий. При использовании библиотеки я, помимо прочего, должен переопределить onOptionsItemSelected как таковой:

@Override
public boolean onOptionsItemSelected(MenuItem item) 
{
    int id = item.getItemId();

    if (id == android.R.id.home) {

        rbmView.toggleMenu();

        return true;

    } else {
        return super.onOptionsItemSelected(item);
    }
}

Теперь я зашел в библиотеку и увидел, что разработчик сделал onOptionsItemSelected final. Я удалил его и попробовал переопределить его снова, только чтобы найти, что продукт был таким, что всякий раз, когда я нажимаю кнопку, ничего не происходит. Ничего.

Любая идея о том, как я буду использовать библиотеку darvds_ribbonmenu вместе с actionbarsherlock?

4b9b3361

Ответ 1

Оказывается, при использовании ABS вам нужно будет указать пространство имен MenuItem, чтобы убедиться, что вы переопределяете правильный метод. Мое решение было следующим:

@Override
public boolean onOptionsItemSelected(com.actionbarsherlock.view.MenuItem item) 
{
    int id = item.getItemId();
    Log.d("item ID : ", "onOptionsItemSelected Item ID" + id);
    if (id == android.R.id.home) {
        rbmView.toggleMenu();

        return true;

    } else {
        return super.onOptionsItemSelected(item);
    }
}

Ответ 2

Измените import android.view.MenuItem; на import com.actionbarsherlock.view.MenuItem;. В противном случае вы просто используете совершенно другой MenuItem, чем тот, который вы импортируете.