Java 如何在同一活动中popBackStackImmediate()一个片段并将该片段中的数据传递给另一个片段
我想通过使用PopBackbackImmediate删除按钮单击中的当前片段,并将数据从删除片段传递到上一个片段。如何实现这一点?片段通常不应在父活动的片段管理器上执行片段事务。它在代码中创建了不必要的紧密耦合 如果按以下方式重新组织代码,则此解决方案会更容易识别:Java 如何在同一活动中popBackStackImmediate()一个片段并将该片段中的数据传递给另一个片段,java,android,android-fragments,Java,Android,Android Fragments,我想通过使用PopBackbackImmediate删除按钮单击中的当前片段,并将数据从删除片段传递到上一个片段。如何实现这一点?片段通常不应在父活动的片段管理器上执行片段事务。它在代码中创建了不必要的紧密耦合 如果按以下方式重新组织代码,则此解决方案会更容易识别: class MyFragmentB extends Fragment { private Callback mCallback; public interface Callback { void dataPassb
class MyFragmentB extends Fragment {
private Callback mCallback;
public interface Callback {
void dataPassback(String somedata);
}
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
try {
mCallback = (Callback) activity;
} catch (ClassCastException e) {
throw new ClassCastException(activity.toString()
+ " must implement MyFragmentB.Callback");
}
}
...
}
class MyActivity extends Activity implements MyFragmentB.Callback {
@Override
public void dataPassback(String somedata){
// 1) pop backstack
// 2) find fragment A
MyFragmentA fragmentA;
fragmentA.setData(someData);
}
...
}
片段通信的良好实践在。中有定义,您在哪里使用PopBackbackImmediate?在片段中还是在活动中?我使用的是片段中的适配器类