紧跟此处显示的骨架:
http://developer.android.com/guide/topics/ui/dialogs.html#
在整个页面中,他们使用这样的声明:
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setTitle(R.string.pick_color);
.setItems(R.array.colors_array, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// The 'which' argument contains the index position
// of the selected item
}
});
return builder.create();
}
此方法的数据类型是“Dialog”但使用的构建器,因此方法的返回类型为“AlertDialog”。 Eclipse可以理解地告诉我这些是不兼容的,并且在我尝试做类似的事情时不会编译我的代码。它也不会让我将builder.create()调用的结果转换为类型Dialog,所以没有解决方法。我该如何解决这个并让我的代码编译? 感谢。
答案 0 :(得分:0)
你只是复制并过去?来自http://developer.android.com/guide/topics/ui/dialogs.html#的代码没有任何错误。 AlertDialog是Dialog的子类,它不是错误的(当方法类型为对话框时返回alertdialog。)你可能忘了“extends DialogFragment”吗?