我使用这种解决方法帮助方法。长按不能直接设置,但这有效。
基本上它是通过自定义视图获取选项卡视图并在其上设置长点击侦听器。
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。