OptionMenu没有显示....

时间:2011-11-17 13:57:57

标签: android

 @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        // mEditor=(TextView)findViewById(R.id.text);

    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {

        super.onCreateOptionsMenu(menu);
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.menu, menu);

        Log.d("sayem", "onCreateOptionMEnu");

        return true;

    }

我的XML文件:

    <?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="schemas.android.com/apk/res/android"; >
<item android:id="@+id/settings" 
android:title="@string/settings_label" 
android:visible="true" 
android:alphabeticShortcut="@string/settings_shortcut" 
android:icon="@drawable/violet" /> 
</menu>

2 个答案:

答案 0 :(得分:2)

看一看link1link2。 或者如果不想膨胀menu.xml,可以这样做:

尝试以下方法,您不需要在此中充气xml。

package com.menusample;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;

public class MenuSampleActivity 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) {

    //menu.add(int groupId,int itemId,int orderId, Charsequence title); 
        menu.add(0, 0, 0, "title1");
        menu.add(0, 1, 1, "title2");
        menu.add(0, 2,2, "title3");
        menu.add(0, 3, 3, "title4");

        return super.onCreateOptionsMenu(menu);
    }
}

答案 1 :(得分:0)

我在代码中的代码中看到的唯一区别是,在XML文件中,行

<menu xmlns:android="schemas.android.com/apk/res/android"; >

最后有一个分号。

Mine没有,Android上的示例http://developer.android.com/guide/topics/ui/menus.html也没有分号。

代码行应如下所示:

<menu xmlns:android="http://schemas.android.com/apk/res/android">