0
4つのタブを持つタブ付きアクティビティがあります。各タブにはそれぞれ固有の断片があります。最初の3つのタブからデータを収集して分析し、分析したデータを4番目のタブのTextViewに送信したいとします。どうすればいい?タブ付きアクティビティのフラグメントからデータをフラグメントに送信
4つのタブを持つタブ付きアクティビティがあります。各タブにはそれぞれ固有の断片があります。最初の3つのタブからデータを収集して分析し、分析したデータを4番目のタブのTextViewに送信したいとします。どうすればいい?タブ付きアクティビティのフラグメントからデータをフラグメントに送信
私は考えることができる2つのソリューション、
まず、あなたの活動のすべての4つのタブの参照を保持があります。あなたのフラグメントから、getActivity()
でアクティビティにアクセスし、関連する更新機能を呼び出すことができます。
public class YourActivity {
...
public void updateFourthFragment(Object data) {
fourthFragment.update();
}
}
public class FirstFragment {
...
public void onInput() {
((YourActivity) getActivity()).updateFourthFragment(input);
}
}
...
第二に、あなただけそれが現在表示されている一つだ場合、フラグメント内のデータを更新する必要があることに注意してくださいhttp://square.github.io/otto/
public class FirstFragment {
...
public void onInput() {
bus.post(new InputEvent(input));
}
}
public class FourthFragment {
...
@Subscribe
public void onInputEvent(InputEvent event) {
handleInput(event.getInput());
}
}
のように、イベントバスを使用します。ここから答えの方法を使って、あなたが望むものを達成することができます:http://stackoverflow.com/questions/36503779/refresh-data-in-viewpager-fragment –