私はこのようなアプリ構造を持っています:
背景:親アクティビティ #1 は、タブ ホスト、タブ ウィジェットを保持しているだけで、3 つのタブ(tab1、tab2、tab3 アクティビティ) に
コンテンツを設定するように 3 つのタブを設定しています。activities
更新: 親アクティビティ #1 の onTabChangedListener 内で検証メソッドを呼び出そうとしましたが、Null Pointer Exception が発生しました。それをどこにもたどることはできませんでした。競合するコードをコメント/削除しましたが、まだボトルネックが発生していません。StackTrace (PasteBin リンク)。親アクティビティ #1、タブ #1 アクティビティのコード
問題:
ユーザーが個々のタブ アクティビティの onTabChanged イベントでフォーム フィールドに入力したデータを検証したいのですが、複数の を設定できませんsetOnTabChangedListener
。
ここで何か不足していますか?リスナーは、メソッド
の下の独自の tab# アクティビティに設定されます。上記の手法を試す以外に、メインの親アクティビティ #1 の下にリスナーを設定しようとしました。しかし、メソッドは呼び出されませんでした。ヌルポインタ例外も発生しました。oncreate
onResume()
on Resume()
検証の背後にあるアイデアは次のとおりです。ユーザーがタブを変更している間、タブをスキップする前にデータを検証する必要があります。onTabChanged
したがって、タブ#2/タブ#3が選択された場合と同様のイベントでデータを検証するには、タブ#1が必要になります。
また、これは、現在のタブ#2 が選択され、ユーザーがタブ#1/タブ#3 を選択した場合にも適用されます
アドバイスをいただければ幸いです..
読んでくれてありがとう..