2017-04-20 52 views
0

我有一個頁面未定的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; 
      } 
     }); 
    } 

回答

2

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

希望這將有助於〜

+0

似乎不錯,但沒有工作。我不知道爲什麼。 –

+0

我使用了相同的代碼,並且它的工作正常。吐司「Tab點擊」顯示當我申請長按任何標籤 – FAT

+0

然後這是我的錯,有時間調試。感謝您的回答:) –

相關問題