Android DialogFragment - 使用 onCreateView 并向对话框添加对话框按钮可能吗?

标签 android fragmentmanager dialogfragment

因为我想在对话框中使用 FragmentManager,所以我使用 onCreateView 而不是 onCreateDialog

如果使用这种方法,我可以设置对话框的标题,但我找不到如何设置对话框按钮。通常我会在 createDialog 中使用 AlertDialog...

问题是否可以使用onCreateView 方法并使用对话框按钮?或者只能这样做,如果我手动将按钮添加到我的 View 资源?

 @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
    View v = inflater.inflate(R.layout.dialog_exercise_info, null);
    // I could include the dialog buttons in the view
    // but can I somehow add buttons to the dialog directly?
    return v;
}

@Override
protected Dialog createDialog(final Bundle savedInstanceState, Activity activity)
{
    Dialog dialog = new Dialog(getActivity(), getTheme());
    dialog.setTitle(R.string.title_create_exercise);
    return dialog;
}

最佳答案

是和否...如果您不使用 AlertDialog,那么您必须在 View 资源中手动创建对话框按钮。说你必须在你的 View 资源中手动创建它们,我的意思是你必须将它们放在 xml 布局文件中,或者你必须在 onCreateView() 内的代码中创建和添加它们,这根据你的问题是可以接受的。

AlertDialog 中用于直接设置按钮(正负)的便捷方法不是 DialogFragment 的一部分。您可以创建自己的便捷方法,但在这种情况下,您将返回到手动执行它们。

关于Android DialogFragment - 使用 onCreateView 并向对话框添加对话框按钮可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26455822/

相关文章:

android - 从 EditText 禁用软键盘但仍允许复制/粘贴?

android - 更改 Sweet alert 中的按钮样式

安卓监控应用

android - fragment 必须是公共(public)静态类才能从实例状态正确地重新创建?

android - 显示 AutoCompleteTextView 下拉菜单时键盘闪烁

android - 使 cordova.exec 同步

android - 如何从 Fragment 类中的 AsyncTask 类的 onPostExecute 函数中删除 fragment

android - 如何只听 Fragment Backstack Pop?

android - TimePicker 分钟间隔

android - 添加警报窗口后 DialogFragment 不显示