Невозможно увидеть меню настроек в Android - PullRequest
1 голос
/ 14 февраля 2011

Я пытаюсь создать демонстрацию меню, но не могу увидеть меню. Единственное, что я вижу, это представление "TextView" в макете.Ниже приведен код:

menu.xml в (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>

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», а не меню.Буду признателен, если кто-нибудь скажет мне, что не так с приложением.

Спасибо, Сид

Ответы [ 3 ]

1 голос
/ 14 февраля 2011

Я не думаю, что вы можете иметь проверяемые элементы в меню параметров.Документация гласит:

Меню параметров: меню значков не поддерживают флажки элементов ...

Попробуйте удалить тег groupи посмотрите, появится ли меню.

1 голос
/ 14 февраля 2011

Sid ... попробуйте используя 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".

JAL

1 голос
/ 14 февраля 2011

Вы используете R.menu.game_menu, но говорите, что ваш xml называется menu.xml.

Вы что-нибудь получаете в logcat?Вы пытались отладить?Вызывается ли onCreateOptionsMenu при нажатии кнопки меню?

Сравнение вашего кода с моим учебным пособием Не могу найти важную разницу.

...