gpt4 book ai didi

java - 具有多个 Activity 的 DialogFragment

转载 作者:太空狗 更新时间:2023-10-29 12:46:08 24 4
gpt4 key购买 nike

我使用了 documentation here创建对话 fragment 。代码是:

public static MyAlertDialogFragment newInstance(int title) {
MyAlertDialogFragment frag = new MyAlertDialogFragment();
Bundle args = new Bundle();
args.putInt("title", title);
frag.setArguments(args);
return frag;
}

@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
int title = getArguments().getInt("title");

return new AlertDialog.Builder(getActivity())
.setIcon(R.drawable.alert_dialog_icon)
.setTitle(title)
.setPositiveButton(R.string.alert_dialog_ok,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
((FragmentAlertDialog)getActivity()).doPositiveClick();
}
}
)
.setNegativeButton(R.string.alert_dialog_cancel,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
((FragmentAlertDialog)getActivity()).doNegativeClick();
}
}
)
.create();
}}

此处的 dialogfragment 仅与 Activity FragmentAlertDialog 关联。有什么方法可以将它与多个 Activity 相关联吗?我通过 setArguements() 在 onCreateDialog 中传递我的调用 Activity 名称。有什么使用方法吗?我检查了 this question并希望得到确认/更好的方法。

最佳答案

您可以在某处定义一个接口(interface),而不是使用 FragmentAlerDialog Activity (我所说的某处是 DialogFragment 类中的 public static interface,或者单独的 public interface Java 文件),任何希望显示对话框的 Activity 都可以实现此接口(interface)。

我使用的一个常见做法是为我的所有项目 Activity 设置一个根 Activity。让该根 Activity 实现该接口(interface),然后您可以从任何地方显示该 DialogFragment

关于java - 具有多个 Activity 的 DialogFragment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17968586/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com