我不知道如何在某些活动中仅显示选定的操作项。下面是我的代码:
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);
}
....
....
}
因此,每当我需要针对特定活动的这些操作项时,我都会将基本活动扩展到我需要的活动。现在我的问题是如何仅在特定活动上设置选定的操作项。假设我不想在一项活动中显示“登录”操作项。我怎样才能完成这项工作?代码片段将不胜感激。