一部のアクティビティで選択したアクション アイテムのみを表示する方法がわかりません。以下は私のコードです:
public abstract class BaseActivity extends SherlockActivity {
@Override
public boolean onCreateOptionsMenu(Menu menu) {
menu.add("Login")
.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
menu.add("Save")
.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId())
{
case 0:
Intent loginIntent = new Intent(BaseActivity.this,LoginForm.class);
startActivity(loginIntent);
return true;
case 1:
Intent saveIntent = new Intent(BaseActivity.this,SaveForm.class);
startActivity(saveIntent);
return true;
}
return false;
}
}
上記のコードでは、アクション アイテムを設定して、コードを繰り返さずにこのアクション アイテムを一部のアクティビティで再利用できるようにしています。これらのアクション アイテムを特定のアクティビティに表示したいときはいつでも、以下のように現在のアクティビティでこの BaseActivity を拡張しています。
public class FirstActivity extends BaseActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
....
....
}
そのため、特定のアクティビティでこれらのアクション アイテムが必要なときはいつでも、ベース アクティビティを必要なアクティビティに拡張しています。今私の問題は、特定のアクティビティで選択したアクション アイテムのみを設定する方法です。1 つのアクティビティで「ログイン」アクション アイテムを表示したくないとします。どうすればこれを行うことができますか? コードスニペットをいただければ幸いです。