22

昨日、アクションバーの左上にボタンが付いた「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);
    }
}

ここでライブラリにアクセスすると、開発者がonOptionsItemSelectedfinalを作成したことがわかりまし。私はそれを削除してもう一度オーバーライドしようとしましたが、ボタンを押しても何も起こらないという製品であることがわかりました。何もありません。

darvds_ribbonmenuライブラリをactionbarsherlockと一緒に使用する方法について何かアイデアはありますか?

4

2 に答える 2

50

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);
    }
}
于 2012-06-06T08:00:33.593 に答える
17

に変更import android.view.MenuItem;import com.actionbarsherlock.view.MenuItem;ます。MenuItemそれ以外の場合は、インポートしているものとはまったく異なるものを使用しているだけです。

于 2012-10-31T05:52:38.647 に答える