如何检测在TabLayout中每个单个选项卡上的单击? [英] How to detect a click on every single tab in tablayout?
本文介绍了如何检测在TabLayout中每个单个选项卡上的单击?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个Viewpager,它的页面不确定,因为用户也可以添加页面.可以,但是我不知道如何使我的用户删除这些页面.我尝试使用下面的代码在每个选项卡上实现长按监听器,但是它不起作用.
I have a viewpager with undetermined pages, because the user can add pages too. Thats okay, but I have no idea how to make it possible, that my user could delete those pages. I have tried to implement a long click listener on every tab with the code below, but it is not working.
然后如何检测单击了哪个选项卡?
Then how to detect which one tab is clicked?
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;
}
});
}
推荐答案
每个TAB
的LongClick
侦听器的实现:
Implementation of LongClick
listener to each 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;
}
});
}
希望这会有所帮助〜
这篇关于如何检测在TabLayout中每个单个选项卡上的单击?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文