如何检测tablayout中每个选项卡上的点击?
问题描述:
我有一个页面未定的viewpager,因为用户也可以添加页面。这没关系,但我不知道如何使它成为可能,我的用户可以删除这些页面。我试图用下面的代码在每个选项卡上实现一个长按监听器,但它不起作用。如何检测tablayout中每个选项卡上的点击?
那么如何检测哪个标签被点击?
实施for (tabCounter = 0; tabCounter < DataOfPages.size(); tabCounter++) {
tabLayout.getTabAt(tabCounter).setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
dataSource.open();
dataSource.deleteById(tabCounter);
dataSource.close();
setupViewPager(viewPager);
return true;
}
});
}
答
LongClick
监听到每个TAB
:
LinearLayout tabStrip = (LinearLayout) tabLayout.getChildAt(0);
for (int i = 0; i < tabStrip.getChildCount(); i++) {
// Set LongClick listener to each Tab
tabStrip.getChildAt(i).setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
Toast.makeText(getApplicationContext(), "Tab clicked" , Toast.LENGTH_SHORT).show();
return true;
}
});
}
希望这将有助于〜
似乎不错,但没有工作。我不知道为什么。 –
我使用了相同的代码,并且它的工作正常。吐司“Tab点击”显示当我申请长按任何标签 – FAT
然后这是我的错,有时间调试。感谢您的回答:) –