2

ActionBarSherlockを使用して、この強力なABをメニューとして使用してUIを実装しています。メニューレイアウトは次のとおりです。

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
    <item
        android:id="@+id/capturador"
        android:icon="@drawable/ic_action_capturador"
        android:showAsAction="always"
        android:title="@string/capturador"/>

    <item
        android:id="@+id/preferencias"
        android:icon="@drawable/ic_action_prefs"
        android:showAsAction="always"
        android:title="@string/preferencias"/>   

</menu>

ご覧のとおり、2つのアイテム(capturadorpreferencias)があります。

ですから、私がやりたいのは、可能であれば、コードを再利用することです。メインアクティビティ以外にアクティビティが2つしかないので、大したことではありませんが、5つあるとどうなりますか?各アクティビティでonOptionsItemSelected(MenuItem item )メソッドとonCreateOptionsMenu(Menu menu)メソッドを上書きする必要がありますか?

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

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    if (item.getItemId() == R.id.capturador) {
        startActivity(new Intent(this, Capturador.class));
    } else if (item.getItemId() == R.id.preferencias) {
        startActivity(new Intent(this, Ajustes.class));
    }
    return true;
}

よろしくお願いします。この質問にすでに回答されている場合は申し訳ありませんが、それを見つけるためにどの単語を使用する必要があるのか​​わかりません(英語は私の母国語ではありません)

4

1 に答える 1

4

BaseActivityこのコードを実装する を作成し、Activitiesこの 2 つのオプション メニューを必要とするすべての をBaseActivity.

于 2012-07-11T13:38:33.637 に答える