Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android錯誤之onCreateOptionsMenu失效,按菜單鍵無反應

android錯誤之onCreateOptionsMenu失效,按菜單鍵無反應

編輯:關於Android編程

做點名app的時候,由於教師端和學生端UI相似,所以用了一套UI框架,結果修改一番之後,

點擊菜單鍵無反應,也就是下面的onCreateOptionsMenu不執行了,

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

而通過actionbar的點擊卻還是可以喚出菜單列表

百思不得其解,最後發現下面這段代碼,

// 監聽返回鍵,退出程序
	public boolean onKeyDown(int keyCode, KeyEvent event) {
		if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
			wifiHotManager.closeAWifiHot();
			this.finish();
			return true;//①
		}
		return true;//②
	}

這段代碼本來是作為退出的,當按倒back鍵的時候退出應用,但是裡面有一個不起眼的地方,把菜單鍵給屏蔽了,

也就是②處,在①出的return的作用是把菜單鍵的點擊事件消費掉,阻止它向上傳遞,

而在②處的return true則把除了back按鍵之外的菜單鍵事件也給消費掉了,這樣菜單鍵也就無效了,

越來越體會到android中很多return的妙用,可以用來消費掉你不想讓系統知道的消息。

如果你也遇到這樣的問題,看看有沒有類似的問題。good luck。

作者:jason0539

微博:http://weibo.com/2553717707

博客:http://blog.csdn.net/jason0539(轉載請說明出處)


  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved