android中的AlertDialog

今天学习了Android中的对话框AlertDialog,详细的学习了一下,下面是一个案例

主要的两个文件是

MainActivity.java

package com.example.alertdialog; import android.os.Bundle; import android.app.Activity; import android.app.AlertDialog; import android.app.AlertDialog.Builder; import android.content.DialogInterface.OnClickListener; import android.content.DialogInterface; import android.content.DialogInterface.OnMultiChoiceClickListener; import android.view.Menu; import android.view.View; import android.widget.Button; import android.widget.Toast; public class MainActivity extends Activity { private Button button = null; private Button button2 = null; private Button button3 = null; private Button button4 = null; //定义3个item列表的选项 private final CharSequence[] items = {"北京", "上海", "广州"}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button = (Button)this.findViewById(R.id.button1); button2 = (Button)this.findViewById(R.id.button2); button3 = (Button)this.findViewById(R.id.button3); button4 = (Button)this.findViewById(R.id.button4); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); builder.setTitle("提示"); builder.setMessage("你确定要删除吗"); builder.setIcon(R.drawable.ic_launcher); builder.setPositiveButton("确定", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub } }); builder.setNegativeButton("取消", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub } }); builder.setNeutralButton("忽略", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub } }); AlertDialog alertDialog = builder.create(); alertDialog.show(); } }); button2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); builder.setTitle("选择下面的城市"); //不能设置Message的内容 //builder.setMessage("请选择下面的城市"); builder.setItems(items, new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { CharSequence item = items[which]; Toast.makeText(MainActivity.this, "-->>"+item, 1).show(); } }); AlertDialog alertDialog = builder.create(); alertDialog.show(); } }); button3.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); builder.setTitle("请选择下面的城市"); //第二个参数是默认被选中的参数(这里是从0开始的,所以1代表的是数组中的第二个参数 builder.setSingleChoiceItems(items, 1, new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { CharSequence item = items[which]; Toast.makeText(MainActivity.this, item, 1).show(); dialog.dismiss(); } }); AlertDialog alertDialog = builder.create(); alertDialog.show(); } }); button4.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); builder.setTitle("请选择下列城市"); // 第二个参数可以设置为null,表示没有选择默认被选中 builder.setMultiChoiceItems(R.array.items, new boolean[]{false, true, true}, new OnMultiChoiceClickListener() { @Override public void onClick(DialogInterface dialog, int which, boolean isChecked) { // TODO Auto-generated method stub } }); builder.setPositiveButton("确定", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { } }); AlertDialog alertDialog = builder.create(); alertDialog.show(); } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }  activity_main.xml <RelativeLayout 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:paddingBottom="@dimen/activity_vertical_margin"     android:paddingLeft="@dimen/activity_horizontal_margin"     android:paddingRight="@dimen/activity_horizontal_margin"     android:paddingTop="@dimen/activity_vertical_margin"     tools:context=".MainActivity" >     <Button         android:id="@+id/button1"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:layout_alignParentTop="true"         android:layout_centerHorizontal="true"         android:layout_marginTop="16dp"         android:text="显示对话框" />     <Button         android:id="@+id/button2"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:layout_alignLeft="@+id/button1"         android:layout_below="@+id/button1"         android:layout_marginTop="30dp"         android:text="显示列表对话框" />     <Button         android:id="@+id/button3"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:layout_below="@+id/button2"         android:layout_centerHorizontal="true"         android:layout_marginTop="30dp"         android:text="显示单选列表对话框" />     <Button         android:id="@+id/button4"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:layout_alignLeft="@+id/button2"         android:layout_below="@+id/button3"         android:layout_marginTop="62dp"         android:text="显示多选对话框" /> </RelativeLayout> 这个只是一个简单AlertDialog的案例,完全可以运行成功的,希望给初学者一个好的学习案例


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值