1.activity_main.xml布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="普通列表对话框"
tools:layout_editor_absoluteX="166dp"
tools:layout_editor_absoluteY="30dp" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="单选按钮对话框"
tools:layout_editor_absoluteX="166dp"
tools:layout_editor_absoluteY="120dp" />
<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="多选按钮对话框"
tools:layout_editor_absoluteX="166dp"
tools:layout_editor_absoluteY="206dp" />
</LinearLayout>
2.MainActivity.java主类
package demo.com.liebiaoduihua;
import android.content.DialogInterface;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private Button button;
private Button button2;
private Button button3;
AlertDialog dialog;
AlertDialog dialog2;
AlertDialog dialog3;
int cout = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = findViewById(R.id.button);
button2 = findViewById(R.id.button2);
button3 = findViewById(R.id.button3);
button.setOnClickListener(this);
button2.setOnClickListener(this);
button3.setOnClickListener(this);
list1();
list2();
list3();
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.button:
dialog.show();
break;
case R.id.button2:
dialog2.show();
break;
case R.id.button3:
dialog3.show();
break;
default:
break;
}
}
/**
* 普通列表对话框
*/
private void list1() {
final String[] item = {"AAA", "BBB", "CCCC", "DDDD", "EEEE"};
dialog = new AlertDialog.Builder(this)
.setIcon(R.drawable.tou)
.setTitle("这是一个普通对话列表")
.setItems(item, null)
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
})
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
}).create();
}
/**
* 单选列表对话框
*/
private void list2() {
final String[] item = {"AAA", "BBB", "CCCC", "DDDD", "EEEE"};
dialog2 = new AlertDialog.Builder(this)
.setIcon(R.drawable.tou)
.setTitle("这是一个单选列表对话框")
.setSingleChoiceItems(item, 0, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this,"你选中了"+item[which],Toast.LENGTH_SHORT).show();
}
})
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
})
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
}).create();
}
/**
* 多选列表对话框
*/
private void list3() {
final String[] item = {"AAA", "BBB", "CCCC", "DDDD", "EEEE"};
dialog3 = new AlertDialog.Builder(this)
.setIcon(R.drawable.tou)
.setTitle("这是一个多选列表对话框")
.setMultiChoiceItems(item, new boolean[]{false,false,false,false,false}, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
if(isChecked){
cout++;
}
}
})
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this,"你选中了"+cout+"个选项",Toast.LENGTH_SHORT).show();
}
})
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
}).create();
}
}