gpt4 book ai didi

android - 如何在单个 Activity 中显示 2 个不同的菜单选项

转载 作者:搜寻专家 更新时间:2023-11-01 08:59:37 26 4
gpt4 key购买 nike

我关注了this tutorial当此行中的值返回 True 时显示菜单选项:myMenuInflater.inflate(R.menu.menu, menu);

当值返回 false 时如何添加另一个菜单选项?我想在同一个菜单按钮中显示 2 个不同的菜单选项。我的代码:

import android.view.MenuItem;
import android.widget.Toast;
public class AndroidOptionMenu extends Activity {
/** Called when the activity is first created. */
@Override public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
@Override public boolean onCreateOptionsMenu(Menu menu)
{
MenuInflater myMenuInflater = getMenuInflater();
myMenuInflater.inflate(R.menu.menu, menu);
return true;
}
@Override public boolean onOptionsItemSelected(MenuItem item)
{
switch(item.getItemId()) {
case(R.id.menu_OK):
Toast.makeText(this, "OK", Toast.LENGTH_LONG).show();
break;
case(R.id.menu_help):
Toast.makeText(this, "Help", Toast.LENGTH_LONG).show();
break;
case(R.id.menu_Cancel):
Toast.makeText(this, "Cancel", Toast.LENGTH_LONG).show();
break;
}
return true;
}
}

最佳答案

你不能。

至少不使用 onCreateOptionsMenu() 的返回值。

来自 Android Doc for onCreateOptionsMenu() :必须返回true才能显示菜单;如果您返回 false,它将不会显示。

你需要找到另一种方法来决定什么时候显示你的第一个菜单,什么时候显示第二个菜单,那么你可以这样做:

@Override public boolean onCreateOptionsMenu(Menu menu)
{
MenuInflater myMenuInflater = getMenuInflater();
if(showFirstMenu)
{
myMenuInflater.inflate(R.menu.menu, menu);
} else {
myMenuInflater.inflate(R.menu.menu2, menu); // here you show the other menu
}
return true;
}

关于android - 如何在单个 Activity 中显示 2 个不同的菜单选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16208720/

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