Android 选项菜单不显示任何内容
我的Android 选项菜单不显示任何内容,android,optionmenu,Android,Optionmenu,我的活动中有一个选项菜单,但当我选择一个选项时,它什么也不显示。我找到了一些教程,但它们展示了我已经做过的事情。怎么了? 谢谢你的回复 这是目前的代码: public class Listino extends TabActivity { final Context context = this; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
活动中有一个选项菜单
,但当我选择一个选项时,它什么也不显示。我找到了一些教程,但它们展示了我已经做过的事情。怎么了?
谢谢你的回复
这是目前的代码:
public class Listino extends TabActivity
{
final Context context = this;
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
deleteFile("Ordinazioni.txt");
setContentView(R.layout.show_listino);
TabHost tabHost = getTabHost();
//Primi
Intent intentPrimi = new Intent().setClass(this, Primi.class);
TabSpec tabSpecPrimi = tabHost
.newTabSpec("Primi")
.setIndicator("Primi")
.setContent(intentPrimi);
//Secondi
Intent intentSecondi = new Intent().setClass(this, Secondi.class);
TabSpec tabSpecSecondi = tabHost
.newTabSpec("Secondi")
.setIndicator("Secondi")
.setContent(intentSecondi);
// Dolci
Intent intentDolci = new Intent().setClass(this, Dolci.class);
TabSpec tabSpecDolci = tabHost
.newTabSpec("Dolci")
.setIndicator("Dolci")
.setContent(intentDolci);
// Pizze
Intent intentPizze = new Intent().setClass(this, Pizze.class);
TabSpec tabSpecPizze = tabHost
.newTabSpec("Pizze")
.setIndicator("Pizze")
.setContent(intentPizze);
// Bevande
Intent intentBevande = new Intent().setClass(this, Bevande.class);
TabSpec tabSpecBevande = tabHost
.newTabSpec("Bevande")
.setIndicator("Bevande")
.setContent(intentBevande);
// Contorni
Intent intentContorni = new Intent().setClass(this, Bevande.class);
TabSpec tabSpecContorni = tabHost
.newTabSpec("Contorni")
.setIndicator("Contorni")
.setContent(intentContorni);
tabHost.addTab(tabSpecPrimi);
tabHost.addTab(tabSpecSecondi);
tabHost.addTab(tabSpecPizze);
tabHost.addTab(tabSpecDolci);
tabHost.addTab(tabSpecBevande);
}
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
MenuInflater menuInflater = getMenuInflater();
menuInflater.inflate(R.menu.opzioni_menu, menu);
return true;
}
public boolean OnOptionsItemSelected(MenuItem item)
{
Toast.makeText(context, item.getItemId(), Toast.LENGTH_SHORT).show();
switch (item.getItemId())
{
case R.id.fineordinazione:
Intent intent = new Intent(context, AggiungiProdotto.class);
startActivity(intent);
return true;
case R.id.modificaordinazione:
break;
}
return false;
}
}
Aaaw.您应该通过getMenuInflater()而不是布局来膨胀菜单
更改:
menuInflater.inflate(R.layout.opzioni_menu, menu);
为此:
menuInflater.inflate(R.menu.opzioni_menu, menu); //use menu, not layout
您应该使用R.menu.bla____________
而不是R.layout.bla___
有关更多信息,请阅读。在res/menu中创建opzioni\u menu.xml/(如果没有菜单文件夹,请创建一个)
到
祝你好运,希望这有帮助
编辑
到
在上有一个输入错误
不是
但是
方法名称的首字母是小写。用母语(!=en)命名变量每次都让我傻笑。像这样:?:)你忘了@Override theOnOptionsItemSelected
我不必这样做。Eclipse将其标记为错误。我没有任何菜单。opzioni_menuthen创建一个菜单,否则您无法将菜单注入活动。已更改,但不会像以前一样显示为零。我点击我的选项,它不会改变我的积极性。我看到应用程序没有进入开关。请清除+刷新项目,然后重新构建,不导入任何内容。我很沮丧:我是这样做的,但当我按下按钮时,什么都没有出现,它没有进入switchremove Toast.makeText(上下文,item.getItemId(),Toast.LENGTH_SHORT).show();或者更改为Toast.makeText(context,String.valueOf(item.getItemId()),Toast.LENGTH_SHORT.show();如果你真的想看ID,问题是应用程序没有达到那个点,似乎它没有进入选项ItemSelected只需尝试,可能是它卡在了Toast Line中什么都没有,我找不到问题:(“有时我想举手,我知道我可以依靠你。”-cit。谢谢你,2小时的调试现在有意义了。
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/fineordinazione" android:title="fineordinazione"/>
<item android:id="@+id/modificaordinazione" android:title="modificaordinazione"/>
</menu>
menuInflater.inflate(R.layout.opzioni_menu, menu);
menuInflater.inflate(R.menu.opzioni_menu, menu);
public boolean OnOptionsItemSelected(MenuItem item)
@Override
public boolean onOptionsItemSelected(MenuItem item)
public boolean OnOptionsItemSelected(MenuItem item)
public boolean onOptionsItemSelected(MenuItem item)