我正在使用带有 tabsadapter 的操作栏。当用户长按选项卡时,我希望发生一些事情。我一直在寻找将 longpresslistener 添加到选项卡的方法,但我没有找到任何东西。有谁知道这是否可能?
谢谢你!
我正在使用带有 tabsadapter 的操作栏。当用户长按选项卡时,我希望发生一些事情。我一直在寻找将 longpresslistener 添加到选项卡的方法,但我没有找到任何东西。有谁知道这是否可能?
谢谢你!
I use this workaround help method. Long press cannot be set directly but this works.
Basically it is getting tab View via custom view and setting long click listener on it.
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);
}
Tested on normal ActionBar, Support AppCompat and ActionBarSherlock.
我从来没有找到长按标签的方法。相反,我重写了 onTabReselected。当用户选择一个选项卡时,将显示该选项卡的片段。当用户第二次单击选项卡时,会出现一个菜单。它运作良好。