我OptionMenu
内有activity
,但是当我选择一个选项时,它什么都没显示。我找到了一些教程但是他们展示了我已经做过的事情。怎么了?
谢谢你的回复。
这是目前的代码:
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。
答案 0 :(得分:1)
有一个错字。
不
public boolean OnOptionsItemSelected(MenuItem item)
但
public boolean onOptionsItemSelected(MenuItem item)
方法名称的首字母是小写。
答案 1 :(得分:0)
你应该通过getMenuInflater()来夸大菜单,而不是布局。
变化:
menuInflater.inflate(R.layout.opzioni_menu, menu);
对此:
menuInflater.inflate(R.menu.opzioni_menu, menu); //use menu, not layout
您应该使用R.menu.bla_bla_bla
代替R.layout.bla_bla_bla
。
有关详细信息,请阅读this。
答案 2 :(得分:0)
在res / menu /中创建opzioni_menu.xml(如果没有菜单文件夹,请创建一个)
<?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)
On&lt;&lt;&lt;&lt; o小写!!请