【发布时间】:2014-06-21 01:10:35
【问题描述】:
我想创建一个 DialogFragment,它有一个标题,然后是一条消息“选择 Wifi”,然后是一个微调器。在它下面,我想要另一条消息,上面写着“输入昵称”,然后在它下面有一个编辑文本字段。然后是两个按钮,它们将返回微调器和编辑文本的字符串。到目前为止我有这段代码,但我不知道为什么它不起作用......
public static class MyAlertDialogFragment extends DialogFragment {
public static MyAlertDialogFragment newInstance(String title) {
MyAlertDialogFragment frag = new MyAlertDialogFragment();
Bundle args = new Bundle();
args.putString("title", title);
frag.setArguments(args);
return frag;
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
String title = getArguments().getString("title");
final EditText input = new EditText(getActivity());
final Spinner sp = new Spinner(getActivity());
return new AlertDialog.Builder(getActivity())
.setTitle(title)
.setMessage("Select Wifi")
.setView(sp)
.setMessage("Enter nickname")
.setView(input)
.setPositiveButton("Save",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
((MainActivity)getActivity()).doPositiveClick();
}
}
)
.setNegativeButton("Cancel",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
((MainActivity)getActivity()).doNegativeClick();
}
}
)
.create();
}
}
它只显示编辑文本文件和编辑文本的消息。那么如何在其中添加微调器呢?或者有没有更好的方法来实现一个可以显示微调器和editText的dialogFragment,并带有多条消息?也许甚至在微调器中使用提示并编辑文本而不是消息?还有一种方法可以在我的主类中填充微调器,然后在我的对话框中使用该微调器?谢谢你的帮助。
【问题讨论】:
-
为什么要从扩展 DialogFragment 的自定义类返回 AlertDialog?您可以像使用 xml 文件和 setcontent 视图方法的活动一样使用自定义类。
-
我尝试根据 android 文档站点来做这件事。我还在努力学习。如果我想要一个简单的对话框来返回一个微调器和一个editText的值,我应该使用什么来代替?感谢您的快速回复。 @IllegalArgument
标签: android android-fragments spinner android-alertdialog android-dialogfragment