我正在更新我的api 8+應用程序,原因是大部分目標市場不再在其設備上具有菜單按鈕。捕獲選項菜單微調點擊
我的解決方案不起作用。
所以,我使用ActionBarSherlock。
我已將我需要的按鈕移動到Sherlock菜單中,並且它們可以正常工作。
但我正在改變的活動有一個微調,它改變了返回的數據。 我想添加到Sherlock菜單(它確實出現),但我無法捕獲任何點擊它。
下面是截圖。頂尖的微調是新的;紫色塊中的所有東西都在那裏進行比較。
這是我使用的設置菜單並捕獲點擊代碼:
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
menu.add(0, 1, 1, "Add Sleep Record").setIcon(R.drawable.btn_add)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
menu.add(0, 2, 2, "Create Report").setIcon(R.drawable.ic_listview_pdf)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
Spinner spinner = new Spinner(getSherlockActivity().getSupportActionBar()
.getThemedContext());
ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(getSherlockActivity()
.getSupportActionBar().getThemedContext(), R.layout.sherlock_spinner_item,
new String[]{"Last 7 days", "Last month", "Last 6 months", "Last year"});
spinnerArrayAdapter.setDropDownViewResource(R.layout.sherlock_spinner_dropdown_item);
spinner.setAdapter(spinnerArrayAdapter);
menu.add(0, 3, 3, "Date Range")
.setActionView(spinner).setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
}
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
switch (item.getItemId()) {
case 1:
Intent i=new Intent(getActivity(), SleepRecordAddActivity.class);
startActivity(i);
return true;
case 2:
tryCreateReport();
return true;
case 3:
String boop ="I am here";
String x= boop;
return true;
}
return false;
}
我已經設置Spinner ID爲3,但開關onOptionsItemSelected不會在3上觸發。
此「活動」是SherlockFragment,它從SherlockFragmentActivity
什麼是「Sherlock菜單」?你爲什麼不使用下拉式導航? http://developer.android.com/guide/topics/ui/actionbar.html#Dropdown – CommonsWare 2013-04-26 21:59:24
導航是標籤刷卡活動。其中兩個片段顯示可以通過日期範圍更改的數據,可以從微調器中進行選擇(至少,它可以在我的舊標籤窗口小部件方法中) – DaveSav 2013-04-26 22:11:28
「Sherlock菜單」是選項菜單 – DaveSav 2013-04-26 22:12:43