gpt4 book ai didi

android - 禁用未在 Activity 中指定的选项菜单

转载 作者:行者123 更新时间:2023-11-29 14:23:16 24 4
gpt4 key购买 nike

我是 Android 菜鸟。我写了一个带有选项菜单的主要 Activity 。每个选项都会打开自己的 Activity 。当我单击每个子 Activity 中的选项菜单时,我会得到一个“设置”菜单。我怎样才能删除或禁用它,以便只有主要 Activity 有选项菜单?

我尝试过的:在每个子 Activity 中,我都获得了菜单项的实例并将其禁用。

首先是主要 Activity 的代码

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.activity_main);

//addPreferencesFromResource(R.xml.preferences);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
//getMenuInflater().inflate(R.menu.main, menu);
menu.add(Menu.NONE, 0, 0, "Show current settings");
menu.add(Menu.NONE, 1, 0, "Edit current settings");
return true;
}

/*
* (non-Javadoc)
*
* @see android.app.Activity#onOptionsItemSelected(android.view.MenuItem)
*/
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case 0:
startActivity(new Intent(this, ShowSettingsActivity.class));
return true;

case 1:
startActivity(new Intent(this, EditSettingsActivity.class));
return true;
}
return false;
}

对于小 Activity

public class EditSettingsActivity extends PreferenceActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.activity_edit_settings);
addPreferencesFromResource(R.xml.preferences);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.edit_settings, menu);
MenuItem mi = menu.findItem(R.menu.edit_settings);
mi.setEnabled(false);
return true;
}

最佳答案

从 Activity (ShowSettingsActivityEditSettingsActivity),您不需要其中的选项菜单。

关于android - 禁用未在 Activity 中指定的选项菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16993182/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com