我使用ActionBarSherlock在我的Android應用中實現ActionMode。 使用ABS可以在API 11之前構建ActionMode,但使用以下方法可以輕鬆實現: listView.setMultiChoiceModeListener(new MultiChoiceModeListener() ...
不適用於API 11之前的應用程序。012xx有沒有人在API 11之前構建動作模式上下文菜單? 我想長時間點擊一個List Item並啓動ActionMode,我可以在其中點擊多個項目。在一個簡單的點擊我顯示列表項的詳細網站。 我使用registerForContext()
方法,但是這樣做只需點擊一下即可。API之前的MultiChoiceMode 11
有沒有人給我一個好的提示。
編輯
我的問題將溶液如下:在一個長期的項目點擊我主動的動作模式,並保存在一個變量。在項目上點擊方法我實現的if-else語句:
if(actionMode == null)
{
// open new activity or update second fragment
showDetails(itemPosition);
}
else
{
// update ui or close CAB if no item selected
showCAB(itemPosition);
}
的方法showCAB(位置)更新將selectedItem計數,突出項目的背景等等。
謝謝你的回答。我昨天也發現了這個頁面並實施瞭解決方案。我將onItemClickListener更改爲onItemLongClickListener,但運行情況並不理想。我可以在短時間點擊一個項目後啓動ActionMode,關閉我打開的活動,然後再次按下該項目。解決方案並不完美,但一開始就很好。 – Happo 2012-07-23 05:36:08
如果我對你的問題了解得很清楚,那麼它只是簡單地點擊你的ListView的項目而打開你的活動?然後,在你的'onItemLongClickListener'上,你可以將'listView' onItemClickListener'設置爲null,這樣它就不會打開任何活動。請確保將其設置回原來的'onItemClickListener'(可以將其保存在一個變量中)在'ModeCallback'類的'onDestroyActionMode'上 – MagicMicky 2012-07-23 11:13:05
在調用onItemClick方法之前,事件傳遞了onItemLongClick方法。這個方法返回一個布爾值,所以如果我返回true事件被處理,並沒有達到onItemClick方法。如果我返回false,我沒有處理長時間點擊並進行其他類型的點擊。我在其他一些問題中發現了這一點,但您的解決方案也是可行的我今天稍後再測試一下。 – Happo 2012-07-23 11:51:07