[英]OptionMenu doesnt show anything
我有一個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;
}
}
a
有一個錯字。
不
public boolean OnOptionsItemSelected(MenuItem item)
但
public boolean onOptionsItemSelected(MenuItem item)
方法名稱的首字母是小寫。
您應該通過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
。
欲了解更多信息,請閱讀此 。
在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)
在<<<< o小寫! 請
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.