我正在Sherlock ActionBar上工作,並在右上角使用選項按鈕,靠近搜索圖標。我成功地爲SEARCH按鈕生成onClick事件,但我在Button選項的onClick事件中遇到了問題。 使用下面的代碼添加按鈕:如何在Android的Sherlock ActionBar中獲取Option菜單按鈕的OnClick事件?
public boolean onCreateOptionsMenu(com.actionbarsherlock.view.Menu menu) {
menu.add(0, 1, 1, "Search").setIcon(R.drawable.search_icon).setActionView(R.layout.action_search).setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);
menu.add(0, 2, 2, "Button").setIcon(R.drawable.menu_overflow_icon).setActionView(R.layout.action_button).setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
return super.onCreateOptionsMenu(menu);
}
而且click事件:
@Override
public boolean onOptionsItemSelected(com.actionbarsherlock.view.MenuItem item) {
switch (item.getItemId()) {
case 1:
search = (EditText) item.getActionView();
search.addTextChangedListener(filterTextWatcher);
search.requestFocus();
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
break;
case 2:
Toast.makeText(ActivityScreen.this, "hit it", Toast.LENGTH_SHORT).show();
}
return super.onOptionsItemSelected(item);
}
我已經表明我的下面安裝在圖像的要求。
您究竟遇到什麼問題? – FWeigl
@Ascorbin:onclick的選項我沒有得到onclick事件。 –
你錯過了'case 2'的'break'聲明:'。 – kabuto178