动作栏& tabsadapter:我可以长按标签吗?

时间:2012-08-13 16:09:20

标签: android android-actionbar

我正在使用带有tabsadapter的操作栏。当用户长按标签时,我想要发生一些事情。我一直在寻找方法来向标签添加longpresslistener,但我还没有找到任何东西。有谁知道这是否可行?

谢谢!

2 个答案:

答案 0 :(得分:2)

我从未找到过长按标签的方法。相反,我在onTabReselected上凌驾于此。当用户选择选项卡时,将显示该选项卡的片段。当用户第二次单击选项卡时,会出现一个菜单。效果很好。

答案 1 :(得分: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。