android 独立按键和菜单键 打开menu

方法一:
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,网上找了很多例子,通过参考设置,实现了menu的调用。

可是 轮到我新建工程,实现menu的时候,问题出现了。

我用的是平板电脑,系统是android4.0的,没有 菜单按键 ,我运行别人代码可以出现

 

但是我按照别人的代码一样创建, 却没有出现应有的 menu菜单键。

 

经过网络的大海捞针方式搜寻,终于在一个博客上看到以下消息。

 

终于打开我自己的Androidmanifest.xml 文件

看到如下

 

[html]  view plain  copy
 
  1. <uses-sdk  
  2.     android:minSdkVersion="8"  
  3.     android:targetSdkVersion="15"  
  4. gt;  

这是我 新建的时候 默认设定的,一直以为没问题,使用也就没有去怀疑它。

 

按照上面找到的消息我把15修改成10

终于我们想要看到的menu 出现了 

 

方法三:继承AppCompatActivity而不是Activity

猜你喜欢

转载自ch-kexin.iteye.com/blog/2292268