2016-09-20 6 views
1

FragmentクラスとTabLayoutViewPagerを使用してスワイプタブを実装しています。TabLayoutでタブの変更をリッスンするにはどうすればよいですか?

私は3つのJavaのクラスを持っている:

(OneFragmentはフラグメント、TwoFragmentはフラグメント、ThreeFragmentはフラグメントとMainActivityはAppCompatActivityを拡張拡張拡張拡張)

また、私はこれらすべてのクラスのための4つの異なるXMLファイルを持っています。実際、私は自分のコードをthis tutorial

に基づいて設計しました。ユーザがタブを切り替えるときに聴きたいと思っています。例えば、ユーザが第二のタブに第一タブを行くとき、私はこれを実行する:

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

か、ユーザーが2から第一または第三のタブに行くとき、これを実行する必要があります。

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

を面白いことに、TabLayoutの回答はありませんでしたが、Tabhostには数十の答えがあります。

"どのタブが変更されているか、以前のタブは何ですか?"を理解するためにコードをどのように設計できますか? TabLayout

注:私は、使用onDestroyView()onDestroy()onHiddenChanged()を上書きしようとしたが、私は私の問題を解決することができませんでした。 onDestroy()のみが機能しましたが、ユーザーがアプリケーションを終了するときにも機能しています。

+0

よく形成された質問です。誰かが質問に努力しているのを見てうれしい。 – Sufian

答えて

1

TabLayout.OnTabSelectedListenerインターフェイスを実装する必要があります。

addOnTabSelectedListenerremoveOnTabSelectedListenerの方法を使用してください。 setOnTabSelectedListenerは廃止予定です。

+0

また、Java Docsのための['TabLayout'](https://developer.android.com/reference/android/support/design/widget/TabLayout.html)のデベロッパー向けドキュメントや、いくつかの有用な例をチェックしてください。経験則として、http://developer.android.comで同様の問題が発生しているかどうかを確認してください。 :) – Sufian

+0

私の母国語は英語ではないので、私は英語の問題を抱えています。 :)したがって私はdeveloper.android.comから何かを理解することはできません。彼らはあまりにも形式的です –

+0

@Gürkanochatak私はあなたが "正式な"という意味を理解していません。正式な用語は簡単に翻訳することができ、スラングは難しくなります。 ;) – Sufian

関連する問題