如何检测对 tablayout 中每个选项卡的点击?

How to detect a click on every single tab in tablayout?

我有一个带有未确定页面的 viewpager,因为用户也可以添加页面。没关系,但我不知道如何让我的用户可以删除这些页面。我尝试使用下面的代码在每个选项卡上实现长按监听器,但它不起作用。

那么如何检测点击了哪一个标签呢?

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;
            }
        });
    }

每个 TABLongClick 监听器的实现:

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;
        }
    });
}

希望对你有所帮助~