4 つのタブを持つタブ付きのアクティビティがあります。各タブには独自の一意のフラグメントがあります。最初の 3 つのタブからデータを収集して分析し、分析したデータを 4 番目のタブの TextView に送信したいと考えています。どうすればいいですか?
1 に答える
1
私が考えることができる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());
}
}
于 2016-06-17T02:41:56.577 に答える