0

紧跟此处显示的骨架:

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”,但使用了builder,因此该方法的返回类型为“AlertDialog”。Eclipse 可以理解地告诉我这些是不兼容的,并且当我尝试做类似的事情时不会编译我的代码。它也不会让我将 builder.create() 调用的结果转换为 Dialog 类型,因此没有解决方法。我该如何解决这个问题并让我的代码编译?谢谢。

4

1 回答 1

0

你只是复制过去?http://developer.android.com/guide/topics/ui/dialogs.html#中的代码可以正常工作。AlertDialog 是 Dialog 的子类,它没有错(当方法类型为 dialog 时返回 alertdialog。)您可能忘记了“扩展 DialogFragment”吗?

于 2013-08-16T12:17:51.817 回答