我想制作一个对话 fragment
,询问“你确定吗?”回复“是/否”。
我看过 the documentation它真的很冗长,到处都是,解释如何制作高级对话框,但没有完整的代码来制作简单的“hello world”类型的对话框。大多数教程使用已弃用的对话框系统。 official blog似乎是不必要的复杂和难以理解。
那么,创建和显示一个真正基本的警报对话框的最简单方法是什么?使用支持库的奖励积分。
最佳答案
DialogFragment 实际上只是一个包装对话框的 fragment 。您可以通过在 DialogFragment 的 onCreateDialog() 方法中创建并返回对话框来将任何类型的对话框放入其中。
这是一个示例 DialogFragment:
class MyDialogFragment extends DialogFragment{
Context mContext;
public MyDialogFragment() {
mContext = getActivity();
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(mContext);
alertDialogBuilder.setTitle("Really?");
alertDialogBuilder.setMessage("Are you sure?");
//null should be your on click listener
alertDialogBuilder.setPositiveButton("OK", null);
alertDialogBuilder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
return alertDialogBuilder.create();
}
}
创建对话调用:
new MyDialogFragment().show(getFragmentManager(), "MyDialog");
并从某处关闭对话框:
((MyDialogFragment)getFragmentManager().findFragmentByTag("MyDialog")).getDialog().dismiss();
只需更改导入以使用支持库类,所有这些代码都将与支持库完美配合。
关于android - 最简单的是/否对话框 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12912181/