2012-04-21 83 views
0

我想使用手机上的菜单按钮,但由于某种原因,它不工作?没有错误,但是当我按下菜单时它什么都不做。我正在运行一个2.3.3 Android模拟器。Android上的菜单按钮故障

这里是我的活动:

public boolean onCreatOptionsMenu(Menu menu){ 

MenuInflater Inflater = getMenuInflater(); 
Inflater.inflate(R.menu.main_menu, menu); 
return true; 
} 
@Override 
public boolean onOptionsItemSelected(MenuItem item){ 
    switch (item.getItemId()){   
     case R.id.MenuClass: 
      startActivity (new Intent ("com.clayton.calendar.TOCLASS")); 
    return true; 

    case R.id.MenuFriends: 
     startActivity (new Intent ("com.clayton.calendar.TOFRIENDS")); 
    return true; 

    default: 
    return super.onOptionsItemSelected(item); 

} 
} 

这里是我的XML:

<item 
    android:id="@+id/MenuClass" 
    android:title="Open Classes"/> 
<item 
    android:id="@+id/MenuFriends" 
    android:title="Open Friends"/> 

+1

什么不工作?任何错误?你有什么尝试? – adneal 2012-04-21 19:09:47

+0

没有错误只是当我按菜单什么也没有发生 – user1334858 2012-04-21 20:08:11

回答

0

试试这个:

@Override 
public boolean onCreateOptionsMenu(Menu menu){ 
    MenuInflater Inflater = getMenuInflater(); 
    Inflater.inflate(R.menu.main_menu, menu); 
    return true; 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item){ 
    switch (item.getItemId()){   
     case R.id.MenuClass: 
      startActivity (new Intent ("com.clayton.calendar.TOCLASS")); 
      return true; 

     case R.id.MenuFriends: 
      startActivity (new Intent ("com.clayton.calendar.TOFRIENDS")); 
      return true; 

     default: 
      return super.onOptionsItemSelected(item); 
    } 
} 

(不要把这里面的onCreate()方法)

+0

它不希望我在你的代码中使用返回false。它也给了我一个错误的第一个覆盖新的代码是在上面。不在onCreate()方法 – user1334858 2012-04-21 20:11:58

+0

@ user1334858,我想我知道问题在哪里!不是'public boolean onCreatOptionsMenu(Menu menu){...}',它应该是'public boolean onCreateOptionsMenu(Menu menu){...}'。重写这个方法,它会工作(我认为)。我现在将编辑我的答案。 – amp 2012-04-21 20:25:32

+0

谢谢你的作品! – user1334858 2012-04-21 20:31:21