AlertDialog提示框的使用
来源:互联网 发布:程序员述职报告范文 编辑:程序博客网 时间:2024/06/05 03:29
AlertDialog 用于弹出提示框,本身并没有构造函,不可以通过构造函数来初始化,首先需要通过AlertDialog.Builder来创建一个Buider,然后有两种方法来完成一个AlertDialog:一种方法是使用Builder对象中的方法定义AlertDialog的属性,然后再使用show()方法来创建并显示AlertDialog提示框;另一种方法是先使用create方法获得AlertDialog对象,然后使用AlertDialog对象的方法定义AlertDialog属性,最后使用show()方法显示AlertDialog提示框。
AlertDialog.builder构造函数有两种:
1.AlertDialog.builder(Content content);
2.AlertDialog.builder(Content content,int theme)
AlertDialog的主要方法及用途介绍如下。
1.void dismiss():将对话框从屏幕中移除
2.void setButton(int whichButton,CharSequece text, DialogInterface.OnClickListener):设置对话框的按钮
3.void setView(View view ):将视图控件显示在对话框中
4.void setMessage(CharSequence message):设置对话框的显示内容
5.setTitle(CharSequence title):为对话框设置标题
6.void setIcon(Drawable icon)和void seticon(int resId):为对话框设置图标
7.AlertDialog.Builder setMultiChoiceItems(items, checkedItems, listener):在对话框中显示多选框
8.AlertDialog.Builder setSingleChoiceItems(CharSequence[] items,int checkedItem,DialogInterface.OnclickListener):在对话框中显示单选框
9.AlertDialog.Builder setItems(CharSequence[]items,Dialoginterface.OnClickListener listener):在对话框中显示列表
下面是利用AlertDialog创建的7种不同风格的对话框,希望对初学android的朋友起到一定的帮助作用:
(1)布局文件main.xml如下
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:id="@+id/textvie1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Textview"/> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="两个按钮"/> <Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="三个按钮"/> <Button android:id="@+id/button3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="显示视图"/> <Button android:id="@+id/button4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="多选列表"/> <Button android:id="@+id/button5" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="单选列表"/> <Button android:id="@+id/button6" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="列表数据"/> <Button android:id="@+id/button7" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="自定义视图"/></LinearLayout>
(2)程序代码如下
package com.example.alertdialog;import com.example.alertdialog.R.layout;import android.R.anim;import android.R.raw;import android.app.Activity;import android.app.ActionBar;import android.app.AlertDialog;import android.app.Fragment;import android.content.DialogInterface;import android.os.Bundle;import android.view.LayoutInflater;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.ViewGroup;import android.widget.Button;import android.widget.EditText;import android.widget.TextView;import android.os.Build;public class AlertDialogDemo extends Activity {private AlertDialog dialog;private AlertDialog.Builder builder;private TextView tView;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);tView=(TextView)this.findViewById(R.id.textvie1);Button button1=(Button)this.findViewById(R.id.button1);Button button2=(Button)this.findViewById(R.id.button2);Button button3=(Button)this.findViewById(R.id.button3);Button button4=(Button)this.findViewById(R.id.button4);Button button5=(Button)this.findViewById(R.id.button5);Button button6=(Button)this.findViewById(R.id.button6);Button button7=(Button)this.findViewById(R.id.button7);View.OnClickListener listener=new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubswitch (v.getId()) {case R.id.button1:dialog1();break;case R.id.button2:dialog2();break;case R.id.button3:dialog3();break;case R.id.button4:dialog4();break;case R.id.button5:dialog5();break;case R.id.button6:dialog6();break;case R.id.button7:dialog7();break;}}};button1.setOnClickListener(listener);button2.setOnClickListener(listener);button3.setOnClickListener(listener);button4.setOnClickListener(listener);button5.setOnClickListener(listener);button6.setOnClickListener(listener);button7.setOnClickListener(listener);}public void dialog1(){dialog=new AlertDialog.Builder(this).create();dialog.setTitle("提示");dialog.setMessage("确定退出吗?");dialog.setIcon(android.R.drawable.ic_dialog_alert);//创建监听器DialogInterface.OnClickListener listener=new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubif (which==DialogInterface.BUTTON_POSITIVE) {//按下确定dialog.dismiss();AlertDialogDemo.this.finish();} else if(which==DialogInterface.BUTTON_NEGATIVE){//按下取消dialog.dismiss();}}};dialog.setButton(DialogInterface.BUTTON_POSITIVE, "确定", listener);dialog.setButton(DialogInterface.BUTTON_NEGATIVE, "取消", listener);dialog.show();}public void dialog2(){dialog=new AlertDialog.Builder(this).create();dialog.setTitle("调查");dialog.setMessage("你平时忙吗?");dialog.setIcon(android.R.drawable.ic_dialog_info);//设置对话框的图标为ic_dialog_alert//创建按键监听器DialogInterface.OnClickListener listener=new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubString str="";switch (which) {case DialogInterface.BUTTON_POSITIVE:str="平时很忙";break;case DialogInterface.BUTTON_NEUTRAL:str="平时一般";break;case DialogInterface.BUTTON_NEGATIVE:str="平时轻松";break;}tView.setText(str);}};dialog.setButton(DialogInterface.BUTTON_POSITIVE, "忙碌", listener);dialog.setButton(DialogInterface.BUTTON_NEUTRAL, "一般", listener);dialog.setButton(DialogInterface.BUTTON_NEGATIVE, "不忙", listener);dialog.show();}public void dialog3(){dialog=new AlertDialog.Builder(this).create();dialog.setTitle("请输入");dialog.setMessage("你平时忙吗?");dialog.setIcon(android.R.drawable.ic_dialog_info);final EditText tEdit=new EditText(this);dialog.setView(tEdit);//创建按键监听器DialogInterface.OnClickListener listener=new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubtView.setText("输入的是:"+tEdit.getText().toString());//将输入的内容转化为字符串}};dialog.setButton(DialogInterface.BUTTON_POSITIVE, "确定", listener);dialog.show();}public void dialog4(){final String item[]=new String[]{"北京","上海","广州"};final boolean bSelect[]=new boolean[item.length];//创建按键监听器DialogInterface.OnMultiChoiceClickListener mListener=new DialogInterface.OnMultiChoiceClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which, boolean isChecked) {// 用一个数组记录下选择的所有选项bSelect[which]=isChecked;}};builder=new AlertDialog.Builder(this);builder.setMultiChoiceItems(item, null, mListener);dialog=builder.create();dialog.setTitle("复选框");DialogInterface.OnClickListener listener =new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubString str="你选择了:";for (int i = 0; i < bSelect.length; i++) {if( bSelect[i]){str=str+"\n"+item[i];}}tView.setText(str);}};dialog.setButton(DialogInterface.BUTTON_POSITIVE,"确定", listener);dialog.show();}public void dialog5(){final String item[]=new String[]{"北京","上海","广州"};final boolean bSelect[]=new boolean[item.length];//创建按键监听器DialogInterface.OnClickListener sListener=new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// 用一个数组记录下选择的所有选项bSelect[which]=true;}};builder=new AlertDialog.Builder(this);builder.setSingleChoiceItems(item, -1, sListener);//在对话框中显示单选框,checkedItem=-1表示没有被选中的dialog=builder.create();dialog.setTitle("单选框");DialogInterface.OnClickListener listener =new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubString str="你选择了:";for (int i = 0; i < bSelect.length; i++) {if( bSelect[i]){str=str+"\n"+item[i];}}tView.setText(str);}};dialog.setButton(DialogInterface.BUTTON_POSITIVE,"确定", listener);dialog.show();}public void dialog6(){final String item[]=new String[]{"北京","上海","广州"};final boolean bSelect[]=new boolean[item.length];//创建按键监听器DialogInterface.OnClickListener sListener=new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// 用一个数组记录下选择的所有选项String str="你选择了:"+item[which];tView.setText(str);}};builder=new AlertDialog.Builder(this);builder.setItems(item,sListener);dialog=builder.create();dialog.setTitle("列表框");DialogInterface.OnClickListener listener =new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubdialog.dismiss();}};dialog.setButton(DialogInterface.BUTTON_POSITIVE,"取消", listener);dialog.show();}public void dialog7(){LayoutInflater inflater=getLayoutInflater();View Layout=inflater.inflate(R.layout.dialog, null);final EditText tEdit=(EditText)latout.findViewById(R.id.editText1);dialog=new AlertDialog.Builder(this).create();dialog.setTitle("自定义布局");dialog.setView(Layout);DialogInterface.OnClickListener listener=new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stubtView.setText("输入的是:"+tEdit.getText().toString());}};dialog.setButton(DialogInterface.BUTTON_POSITIVE,"确定", listener);dialog.setButton(DialogInterface.BUTTON_NEGATIVE,"取消", listener);dialog.show();}}
- AlertDialog提示框的使用
- 使用AlertDialog实现提示框
- Android开发中提示框Toast、AlertDialog的使用!
- Dialog的使用(一):用AlertDialog提示
- Android使用自定义AlertDialog(退出提示框)
- Android使用自定义AlertDialog(退出提示框)
- Android使用自定义AlertDialog(退出提示框)
- Android使用自定义AlertDialog(退出提示框)
- Android使用自定义AlertDialog(退出提示框)
- Android使用自定义AlertDialog(退出提示框)
- Android使用自定义AlertDialog(退出提示框)
- Android使用自定义AlertDialog(退出提示框)
- Android使用自定义AlertDialog(退出提示框)
- Android使用自定义AlertDialog(退出提示框)
- Android使用自定义AlertDialog(退出提示框)
- Android使用设置AlertDialog(退出提示框)
- Android使用自定义AlertDialog(退出提示框)
- Android使用自定义AlertDialog(退出提示框)
- 自学QT之颜色选择对话框
- Cocos2d-x tinyxml2用于xml的解析,自动生成xml文件和解析xml文件
- 运行时异常与一般异常有何异同
- 学数学的伤不起
- 在Struts2中jsp前台传值到后台的三种方法
- AlertDialog提示框的使用
- Description Resource Path Location Type ...project facets version
- vmstat 解释
- win7下vm11安装Mac补丁的说明
- WinXP/Win7/8/8.1/10 L2TP VPN 客户端配置
- 黑马程序员之Collection类
- 学会跟家人交流
- JavaScript技巧(二)续
- 二元冒泡排序(改进的冒泡算法)