为什么我的adt模拟器没有使用菜单显示活动?

时间:2013-04-03 16:27:40

标签: android command-line android-emulator

我的代码中没有看到任何错误,我做了教程教给我的内容。我对Android和新成员都很陌生(请温柔)。

对不起家伙没有清理我的问题。 事情就是当我点击模拟器右侧的菜单按钮时菜单显示.. 是的它显示了膨胀,但每次我选择其中一个菜单没有任何反应,它什么也没做所有。

无论如何这里是java的代码:

 public boolean onCreateOptionsMenu(Menu menu) {
 super.onCreateOptionsMenu(menu);
 //inflates the menu
 MenuInflater awesome = getMenuInflater();
awesome.inflate(R.menu.main, menu); 

return true;
 }

  public boolean onOptionItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.menuSweet:
    startActivity(new Intent("Sweet"));
    return true;

case R.id.menuToast:
    Toast andEggs = Toast.makeText(MainActivity.this,
    "This is a toast", Toast.LENGTH_LONG);
    andEggs.show();
    return true;

}
return false;

   }`

继承res / menu中的xml:

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




 <item 
 android:id="@+id/menuSweet"
 android:alphabeticShortcut="s"
 android:title="Open Sweet Activity" 
 android:onClick="@layout/about" />

 <item 
 android:id="@+id/menuToast"
 android:alphabeticShortcut="t"
 android:title="Open Toast Activity" />


 </menu>

继承清单:

    <activity   
        android:name=".Sweet"
        android:label="@string/app_name"
        android:theme="@android:style/Theme.Dialog"

         >
        <intent-filter>
            <action android:name="Sweet" />

            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
      </activity>

2 个答案:

答案 0 :(得分:0)

您可能需要在交换机中添加默认大小写,即

default:  return super.onOptionsItemSelected(item);

我认为不需要return false; ..也可以删除它。

答案 1 :(得分:0)

应该调用第二种方法:

onOptionsItemSelected

而不是:

onOptionItemSelected

方法名称中缺少“s”。