Builder类中还有一个SetView()方法:

可以在对话框中添加组件

builder.setView(new CheckBox(this));//添加CheckBox

Builder.setMultiChoiceItems(String[]arg0,Boolean[]arg1,OnMultiChoiceClickListener arg3)//添加复选框的方法

Builder.setSingleChoiceItems(String[]arg0,int arg1,OnClickListener arg3)//添加单选框



代码如下:

package com.example.dialog;

import android.app.Activity;

import android.app.AlertDialog.Builder;

import android.content.DialogInterface;

import android.content.DialogInterface.OnClickListener;

import android.content.DialogInterface.OnMultiChoiceClickListener;

import android.os.Bundle;


public class MainActivity extends Activity {

private Builder builder;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

builder=new Builder(MainActivity.this);

builder.setIcon(android.R.drawable.ic_dialog_info);

builder.setTitle("Dialog");

//builder.setMessage("dialog对话框");

builder.setPositiveButton("yes",new OnClickListener()

{

public void onClick(DialogInterface dialog,int which)

{

}});

builder.setNegativeButton("no",new OnClickListener()

{

public void onClick(DialogInterface dialog,int which)

{

}

}

);

/*builder.setSingleChoiceItems(new String[]{"单选", "单选"},1,new OnClickListener() 

{

public void onClick(DialogInterface dialog,int which)

{

}

}

);

*/

/*

builder.setMultiChoiceItems(new String[]{"多选","多选"},new boolean[]{false,true},new OnMultiChoiceClickListener()

{

public void onClick(DialogInterface dialog,int which,boolean inChecked)

{

}

}

);*/

/*builder.setItems(new String[]{"列表项1","列表项2","列表项3"},new OnClickListener()

{

public void onClick(DialogInterface dialog,int which)

{

}

}

);*/

LayoutInflater inflater=getLayoutInflater();

View layout=inflater.inflate(R.layout.dialog, (ViewGroup)findViewById(R.id.myLayout));

builder.setView(layout);

builder.show();

}

}

在对话框中 除了可以添加组件外 还可以添加布局。

增加一个xml布局文件。

wKiom1OoPv-yPOVPAAKyZNaLU1A779.jpg

运行如下:

wKioL1OoPxKC4s4rAAEsoxvYLkY307.jpg