【问题标题】:Cannot see Options Menu in Android在 Android 中看不到选项菜单
【发布时间】:2011-06-26 14:42:32
【问题描述】:

我正在尝试创建一个菜单演示,但我看不到菜单。我唯一能看到的是布局中的“TextView”视图。下面是代码:

menu.xml in (res\menu)

<?xml version="1.0" encoding="utf-8"?>
<menu
  xmlns:android="http://schemas.android.com/apk/res/android">
    <group android:checkableBehavior="single">
    <item 
    android:title="@string/new_game" 
    android:id="@+id/new_game">
    </item>
    <item 
    android:title="@string/quit" 
    android:id="@+id/quit"
    >
    </item>
    </group>
</menu>

演示菜单.java

package com.test.demomenu;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.Toast;


public class demomenu 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)
    {
        //super.onCreateOptionsMenu(menu);
        MenuInflater inflater=getMenuInflater();
        inflater.inflate(R.menu.game_menu, menu);
        return true;

    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item)
    {
        Toast.makeText(this, "This is the item", Toast.LENGTH_LONG).show();
        return true;

    }
}

main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello"
    />
</LinearLayout>

字符串.xml

    <?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="hello">Hello World, demomenu!</string>
    <string name="app_name">Demo Menu</string>
    <string name="new_game">New Game</string>
    <string name="quit">Quit</string>
</resources>

当我运行项目时,我只能看到“TextView”而不是菜单。如果有人能告诉我该应用程序出了什么问题,我将不胜感激。

谢谢, 席德

【问题讨论】:

    标签: android menu options


    【解决方案1】:

    席德...试试using LogCat

    所以导入

    import android.util.*;
    

    声明你的标签

    private static final String TAG= "Sid";
    

    在 onOptionsItemSelected 中添加调试代码

    @Override
    public boolean onOptionsItemSelected(MenuItem item)
    {
        Log.d(TAG,"onOptionsItemSelectedCalled");
        return true;
    
    }
    

    运行您的应用并按下菜单按钮。现在查看 LogCat,过滤 TAG:Sid 和 Log Level Debug 后,消息标签:Sid Message:"onOptionsCalled"。

    日航

    【讨论】:

      【解决方案2】:

      你正在使用R.menu.game_menu,但你说你的xml被命名为menu.xml

      你在 logcat 中得到了什么吗?你试过调试吗?按下菜单按钮时是否调用onCreateOptionsMenu

      将您的代码与我的 tutorial 进行比较,我找不到重要的区别。

      【讨论】:

        【解决方案3】:

        我认为您不能在选项菜单中包含可检查的项目。 documentation 声明:

        选项菜单:图标菜单不支持项目复选标记...

        尝试删除group标签,看看菜单是否会显示。

        【讨论】:

        • 我确实从菜单中删除了组标签,但仍然是同样的问题,我该如何调试应用程序。
        • @Sid 那么当您按下menu 按钮时究竟会发生什么?它是否显示一个空菜单?按下菜单按钮时,logcat 中是否出现错误?
        • 现在当我单击菜单按钮时,我可以看到菜单并单击菜单项并显示吐司。谢谢
        猜你喜欢
        • 2014-06-20
        • 2021-06-25
        • 2023-03-07
        • 2021-10-26
        • 1970-01-01
        • 2014-02-08
        • 1970-01-01
        相关资源
        最近更新 更多