• Android应用开发学习之AlertDialog对话框


    作者:刘昊昱 

    博客:http://blog.csdn.net/liuhaoyutz

     

    本文中我们通过一个例子来看AlertDialog对话框的实现,其运行效果如下:

    主布局文件main.xml内容如下:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >
    
        <TextView 
            android:id="@+id/textView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="20dp"
            android:text="对话框应用示例:" />"
        
        <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="多选列表对话框" />
    
    </LinearLayout>


    布局文件中只是简单的放置了4个按钮。

    下面看主Activity文件,其内容如下:

    package com.liuhaoyu;
    
    import android.app.Activity;
    import android.app.AlertDialog;
    import android.app.AlertDialog.Builder;
    import android.content.DialogInterface;
    import android.content.DialogInterface.OnClickListener;
    import android.content.DialogInterface.OnMultiChoiceClickListener;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.Toast;
    
    public class MainActivity extends Activity {
    	private boolean[] checkedItems;
    	
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            
            Button button1 = (Button) findViewById(R.id.button1);
    		button1.setOnClickListener(new View.OnClickListener() {
    			@Override
    			public void onClick(View v) {
    				AlertDialog alert = new AlertDialog.Builder(MainActivity.this).create();
    				alert.setIcon(R.drawable.image01);
    				alert.setTitle("按钮对话框:");
    				alert.setMessage("带按钮的对话框!");
    				alert.setButton(DialogInterface.BUTTON_NEGATIVE,"取消", new OnClickListener() {
    
    					@Override
    					public void onClick(DialogInterface dialog, int which) {
    						Toast.makeText(MainActivity.this, "您单击了取消按钮",
    								Toast.LENGTH_SHORT).show();
    
    					}
    				});
    				alert.setButton(DialogInterface.BUTTON_POSITIVE,"确定", new OnClickListener() {
    
    					@Override
    					public void onClick(DialogInterface dialog, int which) {
    						Toast.makeText(MainActivity.this, "您单击了确定按钮",
    								Toast.LENGTH_SHORT).show();
    
    					}
    				});
    				alert.setButton(DialogInterface.BUTTON_NEUTRAL,"中立",new OnClickListener(){
    
    					@Override
    					public void onClick(DialogInterface dialog, int which) {
    						Toast.makeText(MainActivity.this, "您单击了中立按钮",
    								Toast.LENGTH_SHORT).show();
    					}
    				});
    				alert.show();
    			}
    		});
    		
    		Button button2 = (Button) findViewById(R.id.button2);
    		button2.setOnClickListener(new View.OnClickListener() {
    
    			@Override
    			public void onClick(View v) {
    				final String[] items = new String[] { "苹果", "三星", "HTC", "联想", "小米" };
    				Builder builder = new AlertDialog.Builder(MainActivity.this);
    				builder.setIcon(R.drawable.image01);
    				builder.setTitle("请选择手机品牌:");
    				builder.setItems(items, new OnClickListener() {
    
    					@Override
    					public void onClick(DialogInterface dialog, int which) {
    						Toast.makeText(MainActivity.this,
    								"您选择了" + items[which], Toast.LENGTH_SHORT).show();
    
    					}
    				});
    				builder.create().show();
    			}
    		});
    		
    		Button button3 = (Button) findViewById(R.id.button3);
    		button3.setOnClickListener(new View.OnClickListener() {
    
    			@Override
    			public void onClick(View v) {
    				final String[] items = new String[] { "苹果", "三星", "HTC", "联想", "小米" };
    				Builder builder = new AlertDialog.Builder(MainActivity.this);
    				builder.setIcon(R.drawable.image01);
    				builder.setTitle("请选择手机品牌:");
    				builder.setSingleChoiceItems(items, 0, new OnClickListener() {
    
    					@Override
    					public void onClick(DialogInterface dialog, int which) {
    						Toast.makeText(MainActivity.this,
    								"您选择了" + items[which], Toast.LENGTH_SHORT).show();
    
    					}
    				});
    				
    				builder.setPositiveButton("确定", null);
    				builder.create().show();
    			}
    		});
    		
    		Button button4 = (Button) findViewById(R.id.button4);
    		button4.setOnClickListener(new View.OnClickListener() {
    			@Override
    			public void onClick(View v) {
    				checkedItems= new boolean[] { false, true, false,true, false };
    				final String[] items = new String[] { "苹果", "三星", "HTC", "联想", "小米" };
    				Builder builder = new AlertDialog.Builder(MainActivity.this);
    				builder.setIcon(R.drawable.image01);
    				builder.setTitle("请选择手机品牌:");
    				builder.setMultiChoiceItems(items, checkedItems,
    						new OnMultiChoiceClickListener() {
    
    							@Override
    							public void onClick(DialogInterface dialog,
    									int which, boolean isChecked) {
    								checkedItems[which]=isChecked;
    							}
    						});
    				builder.setPositiveButton("确定", new OnClickListener() {
    					
    					@Override
    					public void onClick(DialogInterface dialog, int which) {
    						String result="";
    						for(int i=0;i<checkedItems.length;i++){
    							if(checkedItems[i]){
    								result+=items[i]+"、";
    							}
    						}
    						
    						if(!"".equals(result)){	
    							result=result.substring(0, result.length()-1);
    							Toast.makeText(MainActivity.this, "您选择了[ "+result+" ]", Toast.LENGTH_LONG).show();
    						}
    					}
    				});
    				builder.create().show();
    			}
    		});
        }
    }


    程序中为4个按钮设置了点击监听器,在监听器中创建了4种不同的对话框。

  • 相关阅读:
    python_函数
    初始python第三天(三)
    python入门练习题2
    python开发进阶之路(一)
    python入门练习题1
    初识Python第三天(二)
    初识Python第三天(一)
    初识Python第二天(4)
    初识python第二天(3)
    c windows控制台输出颜色文字
  • 原文地址:https://www.cnblogs.com/riskyer/p/3241382.html
Copyright © 2020-2023  润新知