【问题标题】:Android long click on tab安卓长按标签
【发布时间】:2013-07-02 14:21:37
【问题描述】:

我有一个带有一些选项卡的 TabHost,在一个选项卡上长按后,我想获取被长按的选项卡的位置或标签,而不是显示的当前选项卡。 下面有一些代码,我在其中为 TabHost 创建了长按侦听器:

myTabHost.getTabWidget().getChildAt(i).setOnLongClickListener(new OnLongClickListener() {

    @Override
    public boolean onLongClick(View v) {
        // TODO Auto-generated method stub
        return false;
    }
});

有什么解决办法吗?在我的情况下,在 TabHost 上应用监听器是否正确?

【问题讨论】:

    标签: android tabs android-tabhost onlongclicklistener


    【解决方案1】:

    我解决了我的问题,将标签信息添加到选项卡的视图中,然后我在视图中附加了一个获取并打印此标签的侦听器:

    View tabView= mTabHost.getTabWidget().getChildAt(i);
    // set the tag information at the view of the tab (the tag contains the position number of the tab)
    tabView.setTag( Integer.valueOf(i));
    tabView.setOnLongClickListener(new OnLongClickListener() {
    
                @Override
                public boolean onLongClick(View v) {
                    // TODO Auto-generated method stub
                    // I print the number position of the tab
                    Log.d("tab number", ((Integer)view.getTag()).toString() );
                    return false;
                }
            });
    

    【讨论】:

      【解决方案2】:

      被长按的标签的标识符位于onLongClick函数的View v参数中。致电v.getId(),其余为详细信息

      【讨论】:

      • v.getId() 总是返回-1
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-29
      • 1970-01-01
      • 2013-03-31
      • 1970-01-01
      • 1970-01-01
      • 2011-05-07
      相关资源
      最近更新 更多