【问题标题】: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(),其余为详细信息