簡體   English   中英

OptionMenu不顯示任何內容

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM