3

API レベル 10 のアプリケーションに ActionBarSherlock ライブラリを使用しています。クリックしても応答しないアクション アイコンを使用できるかどうか疑問に思っていました。

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/mainTopBluetoothState"
        android:icon="@drawable/bt_not_connected"
        android:orderInCategory="0"
        android:clickable="false"
        android:showAsAction="ifRoom" />

    <item android:id="@+id/mainTopAppState"
        android:title="App State"
        android:orderInCategory="1"
        android:showAsAction="ifRoom" />

</menu>

android:clickable="false"エラーを生成しませんが、アプリケーションの実行中にアクションを押すと、アクションは引き続き反応します。

4

3 に答える 3

12

で実行時にandroid:enabled またはsetEnabled()MenuItemを試してください。

于 2013-01-23T16:46:45.027 に答える
1

あなたはでこれを行うことができますonPrepareOptionsMenu(Menu menu)

@Override
public boolean onPrepareOptionsMenu (Menu menu){
    super.onPrepareOptionsMenu(menu);

        MenuItem myItem = menu.findItem(R.id.myId);
        myItem.setEnabled(false);

    return true;  
}

ドキュメントでは、このようにすることを推奨しています。

画面の標準オプションメニューを表示する準備をします。これは、メニューが表示されるたびに、メニューが表示される直前に呼び出されます。このメソッドを使用して、アイテムを効率的に有効/無効にしたり、コンテンツを動的に変更したりできます。

于 2013-01-23T16:48:31.817 に答える