问题旅程篇4——ActionBar的menu菜单点击过频消失解决

自己写了一个ActionBar的菜单,效果很好,但是发现压实点击的过频,menu菜单就会离奇的消失。

后来在网上仔细的浏览才发现时MenuItem的问题。

MenuItem有几个模式。

MenuItem.SHOW_AS_ACTION_IF_ROOM 有位置才显示
MenuItem.SHOW_AS_ACTION_ALWAYS 始终显示
MenuItem.SHOW_AS_ACTION_NEVER 永不显示
MenuItem.SHOW_AS_ACTION_WITH_TEXT 显示字符串

默认的可能是有位置时才显示,点击的频率高了,占用的空间多了,就会把图标隐藏了,于是我在代码里进行了一次设置,之后问题就解决了,具体代码如下

@Override
	public boolean onOptionsItemSelected(final MenuItem item) {
		item.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
		switch (item.getItemId()) {
		case R.id.menu_refresh:
			//选中刷新按钮后刷新一秒钟
			item.setActionView(R.layout.actionbar_progress);
			handler.postDelayed(new Runnable() {
				public void run() {
					item.setActionView(null);
				}
			}, 1000);
			System.out.println("点击了刷新");
			break;
		case R.id.menu_search:
			System.out.println("zheshiyieg haoren");
			break;
		}
		return super.onOptionsItemSelected(item);
	}

方法里的第一句话就是,剩下的代码是对menu的选项的添加。每个人的工程里的位置不一样,但只要能找到回调函数,然后设置 一下就行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值