在android中设置单选AlertDialog默认项

时间:2013-04-02 12:28:28

标签: android alertdialog

我使用以下代码创建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);
            }
        });

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

2 个答案:

答案 0 :(得分:24)

只需更改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();
                            }
                        })

按照上面的代码,默认情况下会选择第二项。

答案 1 :(得分:9)

致电时

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

第二个参数应指定默认选中的项目,因为Android doc指定