我使用documentation here创建一个dialogfragment.代码是:
public static MyAlertDialogFragment newInstance(int Title) { MyAlertDialogFragment frag = new MyAlertDialogFragment(); Bundle args = new Bundle(); args.putInt("Title", Title); frag.setArguments(args); return frag;}@OverrIDepublic 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仅与活动FragmentAlertDialog相关联.有什么办法可以将它与多个活动关联?通过setArguements()将其传递给onCreateDialog,这是我的调用活动名称.有什么使用方法吗?我检查了this question,希望得到一种确认/更好的方法.
解决方法:
您可以在某个地方定义一个接口(我指的是DialogFragment类中的公共静态接口,或者一个单独的公共接口Java文件),而不是具有FragmentAlerDialog活动,并且希望显示对话框的任何Activity都可以实现此接口.
我使用的一种常见做法是为所有项目活动都拥有根活动.使该根活动实现该接口,然后您可以从任何地方显示该DialogFragment.
总结以上是内存溢出为你收集整理的java-具有多个活动的DialogFragment全部内容,希望文章能够帮你解决java-具有多个活动的DialogFragment所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)