我有两个扩展Fragment.Both的类在同一个Activity中。我想在另一个片段类中按下按钮时在1个片段类中触发一个方法。我知道这可以使用接口或意图来完成。任何人都给我一个代码样本来做这件事。 提前致谢
答案 0 :(得分:4)
:d
在此示例中, FragmentA 调用notify。
<强> INotifier 强>
public interface INotifier {
public void notify(Object data);
}
<强>的Utils 强>
public class Utils {
public static INotifier notifier;
}
<强> FragmentA 强>
public FragmentA extends Fragment {
public void onCreateView(...) {
}
public void inSomeMethod() {
if (Utils.notifier != null) {
Utils.notifier.notify(data);
}
}
}
<强> FragmentB 强>
public FragmentB extends Fragment implements INotifier {
public void onCreateView(...) {
Utils.notifier = this;
}
@Override
public void notify(Object data) {
// handle data
}
}
答案 1 :(得分:0)
我不知道为什么有些程序员会这么复杂。正如我在你的问题中所理解的那样,你想要在fragment1中有一个按钮,当你点击它时,fragment2的textView将会改变。
只需调用fragment1中的onClick和onClick方法,调用并执行你喜欢的任何内容到fragment2的textView。
textView.setText("Hello");
答案 2 :(得分:0)
在FragmentA中,您可以致电:
setTargetFragment(Fragment FragmentA)
在FragmentB中调用:
getTargetFragment();