5

我正在使用以下代码创建一个 AlertDialog

    CharSequence[] array = {"Font1", "Font2", "Font3", "Font4"};
    callback = (DialogClickListener) fragment;

    builder = new AlertDialog.Builder(context); 
    builder.setTitle("Font Settings")
            .setSingleChoiceItems(array, 0, new DialogInterface.OnClickListener() {

                @Override
                public void onClick(DialogInterface arg0, int arg1) {
                    // TODO Auto-generated method stub
                    selected = array[arg1].toString();
                }
            })
           .setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
              public void onClick(DialogInterface dialog, int id) {
              }
          })
          .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {

            public void onClick(DialogInterface dialog, int which) {
                callback.onYesClick(selected);
            }
        });

如何设置默认选择的元素?请帮忙 :)

4

2 回答 2

28

只需更改setSingleChoiceItems方法的第二个参数,如下所示..将其更改为 0,1,2,3

.setSingleChoiceItems(array, 2,
                        new DialogInterface.OnClickListener() {

                            @Override
                            public void onClick(DialogInterface arg0, int arg1) {
                                // TODO Auto-generated method stub
                                selected = array[arg1].toString();
                            }
                        })

根据上面的代码,您的第二个项目默认被选中。

于 2013-04-02T12:40:47.070 回答
10

你打电话时

builder.setTitle("Font Settings")
            .setSingleChoiceItems(array, 0, new DialogInterface.OnClickListener(){...

第二个参数应指定默认检查的项目,如Android 文档所指定

于 2013-04-02T12:35:37.200 回答