我有一些带有一些标签的TabHost,在长按一个标签后,我想获得长按的标签的位置或标签,而不是显示的当前标签。 下面是一些代码,我在其中为TabHost创建长按监听器:
myTabHost.getTabWidget().getChildAt(i).setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
// TODO Auto-generated method stub
return false;
}
});
任何解决方案?在我的情况下在TabHost中应用监听器是否正确?
答案 0 :(得分: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;
}
});
答案 1 :(得分:0)
长按的标签的标识符位于View v
功能的onLongClick
参数中。致电v.getId()
,其余为详情