2012-08-13 93 views
2

我正在使用帶有tabsadapter的操作欄。當用戶長按一個標籤時,我希望發生一些事情。我一直在四處尋找方法來添加一個longpresslistener到標籤,但我還沒有找到任何東西。有誰知道這是否可能?Actionbar&tabsadapter:我可以長按標籤嗎?

謝謝!

+0

對此有何更新? – 2012-11-07 06:29:17

回答

2

我從來沒有找到一種方法來長按標籤。相反,我重寫了TabReselected。當用戶選擇一個選項卡時,會顯示該選項卡的片段。當用戶第二次點擊標籤時,會出現一個菜單。它運作良好。

+0

感謝您的建議。 – 2012-11-09 05:45:03

2

我使用此解決方法幫助方法。長按不能直接設置,但可以使用。

基本上它是獲取選項卡通過自定義視圖查看並設置長按監聽器。

public static void setTabLongClickListener(Context context, ActionBar.Tab tab, View.OnLongClickListener longClickListener) 
    { 
     //get previous view to ensure correct state after setting long click listener 
     View previousCustomView = tab.getCustomView(); 

     //some view to get parent tab view 
     View view = new View(context); 
     tab.setCustomView(view); 
     ((View)view.getParent()).setOnLongClickListener(longClickListener); 

     //return back removed custom view 
     tab.setCustomView(previousCustomView); 
    } 

在正常的ActionBar上測試,支持AppCompat和ActionBarSherlock。