【发布时间】:2013-07-31 11:03:14
【问题描述】:
我使用documentation here 创建了一个对话片段。代码是:
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 仅与活动FragmentAlertDialog 相关联。有没有办法将它与多个活动相关联?我在 onCreateDialog 中通过 setArguements() 传递调用活动名称。有什么方法可以使用吗?我检查了this question 并希望得到确认/更好的方法。
【问题讨论】:
-
@gunar 因为它会大大减少我的代码。我有 10 个活动,都需要一个对话片段。
标签: java android android-activity dialogfragment