Android 如何从片段切换到对话框片段
我正在片段中使用对话片段。现在我想在单击按钮时从根片段切换到对话框片段。这怎么可能。 请帮帮我 对话框片段代码是Android 如何从片段切换到对话框片段,android,Android,我正在片段中使用对话片段。现在我想在单击按钮时从根片段切换到对话框片段。这怎么可能。 请帮帮我 对话框片段代码是 public class MyDialogFragment extends DialogFragment implements View.OnClickListener { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstance
public class MyDialogFragment extends DialogFragment implements View.OnClickListener {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setStyle(DialogFragment.STYLE_NORMAL, R.style.MY_DIALOG);
}
@Override
public void onStart() {
super.onStart();
Dialog d = getDialog();
if (d!=null){
int width = ViewGroup.LayoutParams.MATCH_PARENT;
int height = ViewGroup.LayoutParams.MATCH_PARENT;
d.getWindow().setLayout(width, height);
}
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View root = inflater.inflate(R.layout.my_fragment, container, false);
return root;
}
在按钮中写入以下代码,然后单击:
MyDialogFragment myDialogFragment = new MyDialogFragment();
myDialogFragment.show(getFragmentManager(), "myDialogFragment");
单击按钮,您可以使用
myDialogFragment.show()
,只需发布代码片段:
MyDialogFragment myDialogFragment = new MyDialogFragment();
// You cannot access `getFragmentManager()` directly inside fragment so use getActivity()
myDialogFragment.show(getActivity().getFragmentManager(), "DialogFragment");
如果显示另一个片段的
对话框Fragment
,则应使用getFragmentManager()
或getSupportFragmentManager
,具体取决于使用的Fragment
子类。您可以尝试调用getChildFragmentManager()
而不是getFragmentManager()
所以你的代码看起来像
MyDialogFragment mdf = new MyDialogFragment();
mdf.show(getChildFragmentManager(), "tag");
确保您通过了fragmentmanager的正确实例,它正在为meMake工作确保您从支持库中的
android.support.v4.app.DialogFragment
扩展,而不是从android.app.DialogFragment