だから私は2つの活動を持っています.ActivityAとAcitivityB. アクションバーには 4 つのボタンがありますが、ActivityA では 3 つしか表示されないはずです。特定のボタンを押すと、ActivityB に入り、4 つすべてが表示されるはずです。これを行う方法はありますか?
質問する
126 次
3 に答える
1
このような目的のために、すべての ActionBar 初期化ステップをカプセル化する特別なクラス ActionBarHelper を作成することをお勧めします。ActionbarSherlock を使用する私のアプリでは、ActionBarHelper クラス コードでこれを行いました。
public static void initActionBar(final SherlockActivity activity, final boolean finishCurrent) {
activity.setTheme(R.style.Sherlock___Theme_Light);
theBar = activity.getSupportActionBar();
theBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
theBar.setCustomView(R.layout.custom_bar);
// other initialisation
その後
Button btnToHide = (Button) activity.findViewById(R.id.btnToHide);
if (activity.getLocalClassName().toString().equals("ActivityA")) {
btnToHide.setVisibility(View.GONE);
}`
そして、あなたの活動OnCreate()
ではただ書くだけですActionBarHelper.initActionBar(this,false);
于 2013-07-10T13:51:40.813 に答える
0
対応するアクティビティの onCreate メソッドで、目的のボタンに setVisibility を呼び出して非表示にすることができます。
于 2013-07-10T13:56:23.310 に答える
0
各アクティビティ onCreateOptionsMenu で個別のメニュー リソースを膨らませることはできますか?
class ActivityA extends Activity {
/**Code omitted*/
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getSupportMenuInflater();
inflater.inflate(R.menu.activityA, menu);
return true;
}
}
class ActivityB extends Activity {
/**Code omitted*/
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getSupportMenuInflater();
inflater.inflate(R.menu.activityB, menu);
return true;
}
}
于 2013-07-10T13:48:13.137 に答える