话就不多说了
直接上代码
package com.example.menutest2;
import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity {
Button button;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button=(Button)findViewById(R.id.button2);
button.setOnClickListener(new myOnClickListener());
}
class myOnClickListener implements OnClickListener
{
public void onClick(View arg0) {
// TODO Auto-generated method stub
openOptionsMenu();
}
}
@Override
public void openOptionsMenu() {
// TODO Auto-generated method stub
super.openOptionsMenu();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
super.onCreateOptionsMenu(menu);
int group1 = 1;
int gourp2 = 2;
menu.add(group1, 1, 1, "item 11");
menu.add(group1, 2, 2, "item 12");
menu.add(gourp2, 3, 3, "item 23");
menu.add(gourp2, 4, 4, "item 24");
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
switch (item.getItemId()) { // 响应每个菜单项(通过菜单项的ID)
case 1: // do something here
Log.i("MenuTest:", "ItemSelected:1");
break;
case 2: // do something here
Log.i("MenuTest:", "ItemSelected:2");
break;
case 3: // do something here
Log.i("MenuTest:", "ItemSelected:3");
break;
case 4: // do something here
Log.i("MenuTest:", "ItemSelected:4");
break;
default: // 对没有处理的事件,交给父类来处理
return super.onOptionsItemSelected(item);
} // 返回true表示处理完菜单项的事件,不需要将该事件继续传播下去了
return true;
}
// @Override
// public boolean onCreateOptionsMenu(Menu menu) {
// getMenuInflater().inflate(R.menu.activity_main, menu);
// return true;
// }
}
看上面的代码 没什么可说的
就是创建一个 按键 响应的时候调用:
openOptionsMenu();方法就可以了。
当然如果menu 仍旧没有出现,可以参考我另外一篇博文:
android 没有出现menu 按键显示 解决
http://blog.csdn.net/penglijiang/article/details/7844514