无法在Android中看到“选项菜单”

时间:2011-02-13 22:11:39

标签: android menu options

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

(res \ menu)

中的

menu.xml

<?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>

demomenu.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>

的strings.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”而不是菜单。如果有人能告诉我应用程序的错误,我将不胜感激。

谢谢, SID

3 个答案:

答案 0 :(得分:1)

您使用的是R.menu.game_menu,但您说您的xml名为menu.xml

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

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

答案 1 :(得分:1)

我认为您无法在选项菜单中找到可检查的项目。 documentation州:

  

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

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

答案 2 :(得分: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消息:“onOptionsCalled”。

JAL