所以我有两个活动.ActivityA和AcitivityB。我的操作栏中有4个按钮,但在ActivityA中只有三个应该是可见的,如果我按下某个按钮,我进入ActivityB并且所有四个都应该可见。 有没有办法做到这一点?
答案 0 :(得分:1)
出于这样的目的,我建议你创建特殊的类ActionBarHelper,你可以在其中填充所有ActionBar初始化步骤。在我使用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);
答案 1 :(得分: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;
}
}
答案 2 :(得分:0)
在相应活动的onCreate方法中,您可以将setVisibility调用到所需按钮以隐藏它。