-2

我在我的代码中没有看到任何错误,我按照教程教我的做了。我对 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>
4

2 回答 2

0

您可能需要在您的切换语句中添加默认情况,即

default:  return super.onOptionsItemSelected(item);

而且我认为不需要return false;..也将其删除。

于 2013-04-03T16:36:42.637 回答
0

应该调用第二种方法:

onOptionsItemSelected

代替:

onOptionItemSelected

方法名称中缺少“s”。

于 2014-02-19T10:40:53.513 回答