簡體   English   中英

如何偵聽 TabLayout 中的選項卡更改?

[英]How do I listen for tab changes in TabLayout?

我在TabLayout使用Fragment類和ViewPager來實現滑動選項卡。

我有 3 個 java 類:

(OneFragment 擴展 Fragment,TwoFragment 擴展 Fragment,ThreeFragment 擴展 Fragment 和 MainActivity 擴展 AppCompatActivity)

此外,我有所有這些類的 4 個不同的 xml 文件。 實際上,我是根據本教程設計的代碼

現在我想在用戶在選項卡之間切換時收聽。 例如,當用戶從第一個選項卡轉到第二個選項卡時,我希望執行以下操作:

Toast t = Toast.makeText(getActivity(),"You are exit from 1st tab", Toast.LENGTH_LONG);
t.show();

或者當用戶從 2 轉到第 1 個或第 3 個選項卡時,應執行以下操作:

Toast t = Toast.makeText(getActivity(),"You are exit from 2nd tab", Toast.LENGTH_LONG);
t.show();

有趣的是,我不能為任何回答TabLayout ,雖然有答案的幾十Tabhost

如何設計我的代碼以了解“哪個選項卡正在更改,上一個選項卡是什么?” TabLayout

注意:我使用過,試圖覆蓋onDestroyView()onDestroy()onHiddenChanged()但我無法解決我的問題。 只有onDestroy()有效,但當用戶退出應用程序時它也有效。

您需要為此實現TabLayout.OnTabSelectedListener接口。

使用addOnTabSelectedListenerremoveOnTabSelectedListener方法來做到這一點。 請注意, setOnTabSelectedListener現在已棄用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM