• AlertDialog的几种用法


    xml代码:

     1 <?xml version="1.0" encoding="utf-8"?>
     2 <LinearLayout
     3     xmlns:android="http://schemas.android.com/apk/res/android"
     4     xmlns:app="http://schemas.android.com/apk/res-auto"
     5     xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
     6     android:layout_height="match_parent"
     7     android:orientation="vertical"
     8     tools:context="com.example.lesson7_3_id19_alertdialog.MainActivity">
     9 
    10     <Button
    11         android:layout_width="match_parent"
    12         android:layout_height="wrap_content"
    13         android:text="简单的dialog"
    14         android:onClick="dialog_1"/>
    15     <Button
    16         android:layout_width="match_parent"
    17         android:layout_height="wrap_content"
    18         android:text="列表的dialog"
    19         android:onClick="dialog_2"/>
    20     <Button
    21         android:layout_width="match_parent"
    22         android:layout_height="wrap_content"
    23         android:text="单选的dialog"
    24         android:onClick="dialog_3"/>
    25     <Button
    26         android:layout_width="match_parent"
    27         android:layout_height="wrap_content"
    28         android:text="多选的dialog"
    29         android:onClick="dialog_4"/>
    30     <Button
    31         android:layout_width="match_parent"
    32         android:layout_height="wrap_content"
    33         android:text="自定义View的dialog"
    34         android:onClick="dialog_5"/>
    35     <Button
    36         android:layout_width="match_parent"
    37         android:layout_height="wrap_content"
    38         android:text="使用adapter的dialog"
    39         android:onClick="dialog_6"/>
    40 </LinearLayout>

    java代码:

      1 package com.example.lesson7_3_id19_alertdialog;
      2 
      3 import android.app.AlertDialog;
      4 import android.content.DialogInterface;
      5 import android.os.Bundle;
      6 import android.support.v7.app.AppCompatActivity;
      7 import android.view.View;
      8 import android.widget.ArrayAdapter;
      9 import android.widget.EditText;
     10 import android.widget.Toast;
     11 
     12 public class MainActivity extends AppCompatActivity {
     13 
     14     @Override
     15     protected void onCreate(Bundle savedInstanceState) {
     16         super.onCreate(savedInstanceState);
     17         setContentView(R.layout.activity_main);
     18     }
     19     public void dialog_1(View v){
     20         AlertDialog.Builder builder = new AlertDialog.Builder(this);
     21         builder.setIcon(R.mipmap.ic_launcher_round);
     22 
     23         builder.setTitle("标题栏");
     24         builder.setMessage("正文部分,简单的文本");
     25         builder.setPositiveButton("确定",new DialogInterface.OnClickListener() {
     26             @Override
     27             public void onClick(DialogInterface dialog, int which) {
     28                 Toast.makeText(MainActivity.this, "点击了确定", Toast.LENGTH_SHORT).show();
     29             }
     30         });
     31         builder.setNegativeButton("取消",null);
     32         builder.setNeutralButton("中立",null);
     33         AlertDialog alertDialog = builder.create();
     34         alertDialog.show();
     35 
     36     }
     37     private String [] item = {"游戏","运动","电影","旅游","看书"};
     38     public void dialog_2(View v){
     39         AlertDialog.Builder builder = new AlertDialog.Builder(this);
     40         builder.setTitle("请选择");
     41         builder.setItems(item, new DialogInterface.OnClickListener() {
     42             @Override
     43             public void onClick(DialogInterface dialog, int which) {
     44                 Toast.makeText(MainActivity.this, "选择了"+item[which], Toast.LENGTH_SHORT).show();
     45             }
     46         });
     47         // 取消可以不添加
     48         //builder.setNegativeButton("取消",null);
     49         AlertDialog alertDialog = builder.create();
     50         alertDialog.show();
     51 
     52     }
     53     int index;
     54     public void dialog_3(View v){
     55         AlertDialog.Builder builder = new AlertDialog.Builder(this);
     56         builder.setTitle("请选择");
     57         builder.setSingleChoiceItems(item, index, new DialogInterface.OnClickListener() {
     58             @Override
     59             public void onClick(DialogInterface dialog, int which) {
     60                 index = which;
     61             }
     62         });
     63         builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
     64             @Override
     65             public void onClick(DialogInterface dialog, int which) {
     66                 Toast.makeText(MainActivity.this, "选择了"+item[index], Toast.LENGTH_SHORT).show();
     67             }
     68         });
     69         builder.setNegativeButton("取消",null);
     70         AlertDialog alertDialog = builder.create();
     71         alertDialog.show();
     72     }
     73     // 设置boolean数组所有的选项设置默认没选
     74     boolean[] bools = {false,false,false,false,false};
     75     public void dialog_4(View v){
     76         AlertDialog.Builder builder = new AlertDialog.Builder(this);
     77         builder.setTitle("请选择");
     78         builder.setMultiChoiceItems(item, bools, new DialogInterface.OnMultiChoiceClickListener() {
     79             @Override
     80             public void onClick(DialogInterface dialog, int which, boolean isChecked) {
     81                 bools[which] = isChecked;
     82             }
     83         });
     84         builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
     85             @Override
     86             public void onClick(DialogInterface dialog, int which) {
     87                 StringBuffer sb = new StringBuffer();
     88                 for (int i = 0; i < item.length; i++) {
     89                     if (bools[i]) {
     90                        sb.append(item[i] + " ");
     91                     }
     92                 }
     93                 Toast.makeText(MainActivity.this, "选择了" + sb.toString(), Toast.LENGTH_SHORT).show();
     94             }
     95         });
     96         builder.setNegativeButton("取消",null);
     97         AlertDialog alertDialog = builder.create();
     98         alertDialog.show();
     99     }
    100     public void dialog_5(View v){
    101         AlertDialog.Builder builder = new AlertDialog.Builder(this);
    102         builder.setTitle("连接wifi");
    103         final EditText et = new EditText(this);
    104         et.setHint("请输入密码");
    105         et.setSingleLine(true);
    106         builder.setView(et);
    107         builder.setNegativeButton("取消",null);
    108         builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
    109             @Override
    110             public void onClick(DialogInterface dialog, int which) {
    111                 String password = et.getText().toString();
    112                 if (password.equals("123456")) {
    113                     Toast.makeText(MainActivity.this, "连接成功", Toast.LENGTH_SHORT).show();
    114                 }else{
    115                     Toast.makeText(MainActivity.this, "密码错误", Toast.LENGTH_SHORT).show();
    116                 }
    117             }
    118         });
    119         AlertDialog alertDialog = builder.create();
    120         alertDialog.show();
    121 
    122     }
    123     public void dialog_6(View v){
    124         ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,item);
    125         AlertDialog.Builder builder = new AlertDialog.Builder(this);
    126         builder.setTitle("使用适配器");
    127         builder.setAdapter(adapter, new DialogInterface.OnClickListener() {
    128             @Override
    129             public void onClick(DialogInterface dialog, int which) {
    130                 Toast.makeText(MainActivity.this, "选择了"+item[which], Toast.LENGTH_SHORT).show();
    131             }
    132         });
    133         AlertDialog alertDialog = builder.create();
    134         alertDialog.show();
    135     }
    136 }

     

  • 相关阅读:
    CORS(跨域)请求总结和测试
    使用parted 创建一个大于2T的分区
    Linux下网络设置
    Linux中文件查找,压缩和打包指令
    使用switchshow/supportshow命令确认Brocade交换机型号(转载)
    光纤交换机端口故障排查
    博科5300光纤交换机内存故障处理
    AIX用户和组管理
    AIX 逻辑卷简介
    AIX中文件系统管理
  • 原文地址:https://www.cnblogs.com/lxjhoney/p/6535283.html
Copyright © 2020-2023  润新知