为了账号安全,请及时绑定邮箱和手机立即绑定

正在回答

2 回答

加这段代码试一下 :setIconEnable(menu, true);

3 回复 有任何疑惑可以回复我~
#1

noprom

我这么写 咋不行。。
2014-11-01 回复 有任何疑惑可以回复我~
#2

suprsvn 回复 noprom

因为在你的activity中根本没有这个setIconEnable(menu,true)方法。看楼下我的解释。楼上andyking在回答问题时要考虑清楚。
2014-11-03 回复 有任何疑惑可以回复我~

在activity中利用反射来写下面这个方法,就可以实现在4.0以上menu item中设置icon并显示了。

private void setIconEnable(Menu menu,boolean enable){
		try {
			Class<?> clazz = Class.forName("com.android.internal.view.menu.MenuBuilder");
			Method method = clazz.getDeclaredMethod("setOptionalIconsVisible", boolean.class);
			method.setAccessible(true);
			method.invoke(menu, enable);
		}catch (Exception e) {
			e.printStackTrace();
		}
	}

然后在onCreateOptionsMenu(Menu menu)方法中,首先调用它:

setIconEnable(menu, true);

最后,问题解决。

3 回复 有任何疑惑可以回复我~
#1

_小超同学_ 提问者

后来发现自定义PopMenu或者PopWindow更好使。
2014-11-04 回复 有任何疑惑可以回复我~
#2

Listener

非常感谢,完美解决问题,可是这段看不懂啥意思啊,你怎么想出来的
2016-05-31 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Android攻城狮的第二门课(第2季)
  • 参与学习       62396    人
  • 解答问题       207    个

本课程讲带你熟悉Android开发中常用的调试方式,菜单、调试程序

进入课程
意见反馈 帮助中心 APP下载
官方微信