我是Android的新世界,所以我正在学习安卓网上的教程! 我编写了与编写相同的代码,但是当我点击子菜单时它没有显示任何内容! 甚至没有显示Android默认图标!! 拜托,我需要帮助。 这是代码:
package com.example.menus;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.SubMenu;
import android.widget.Toast;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
SubMenu m = menu.addSubMenu(0,2000,0,"Sous menu");
m.add(0,1000,0,"Menu1");
m.add(0,1001,0,"Menu2");
m.setIcon(android.R.drawable.ic_dialog_info);
//getMenuInflater().inflate(R.menu.main, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
Log.i("",""+item.getTitle());
Log.i("",""+item.getItemId());
switch(item.getItemId())
{
case 1000: Toast.makeText(this, "menu1", Toast.LENGTH_SHORT).show();break;
case 1001: Toast.makeText(this, "menu2", Toast.LENGTH_SHORT).show();break;
}
return super.onOptionsItemSelected(item);
}
}
非常感谢。
答案 0 :(得分:0)
首先,更改onCreateOptionsMenu(Menu menu)
如下所示的代码
menu.add(0, Menu.FIRST, 0, "Name of menu")
.setIcon(R.drawable.your_icon)
getMenuInflater().inflate(R.menu.search, menu);
return true;
onOptionsItemSelected(MenuItem item) {
switch(item.getItemId())
{
case R.id.action_home:
Toast.makeText(this, "menu1", Toast.LENGTH_SHORT).show();
break;
}
}
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:checkableBehavior="single">
<item
android:id="@+id/action_home"
android:title="Home"
android:icon="@drawable/ic_home_" />
</group>
</menu>