当前我的片段A打开一个新的对话框片段B. Is there any way to call method from a fragment A method from a dialog fragment B?
答案 0 :(得分:1)
关于android网站,你不应该从另一个片段调用一个片段,而应该让activity来处理切换片段。
要做到这一点,
您可以创建一个界面并在活动中实现它,
public interface MyListener{
public void switchFragment(Fragment f);
}
public class MyActivity extends Activity implements MyListener{
@Override
public void switchFragement(Fragment f){
getSupportFragmentManager().beginTransaction
.replace(R.id.container, f)
.commit();
}
}
,在片段类中,
public class MyFragment extends Fragment{
private MyListener listener;
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
try {
listener = (MyListener) activity;
} catch (ClassCastException e) {
throw new ClassCastException(activity.toString()
+ " must implement MyListener");
}
}
@Override
public void onDetach() {
super.onDetach();
listener = null;
}
}
并简单地使用
listener.switchFragment(fragment);
答案 1 :(得分:0)
您将需要以下两件事之一:
没有办法在标准框架中直接将Fragment与Fragment对话。您必须手动创建此链接。