zoukankan      html  css  js  c++  java
  • Android中如何使用对话框(单选对话框和多选对话框)

    在主XML中声明两个Button,声明Id

    package com.example.myapplication;
    
    import androidx.appcompat.app.AlertDialog;
    import androidx.appcompat.app.AppCompatActivity;
    
    import android.content.DialogInterface;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.Toast;
    
    public class alert extends AppCompatActivity {
    
        private Button putong1;
        private Button duoanniu1;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_alert);
            putong1 = findViewById(R.id.putong);
            putong1.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    ShowDialogNormal();
                }
            });
            duoanniu1 =findViewById(R.id.duoanniu);
            duoanniu1.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    ShowDialogMany();
                }
            });
        }
    }
    
    

    在主类中声明两个Button,分别进行绑定
    给Button设置单击事件

    在这里插入图片描述

    大概就是固定的,主要是OnClick里面的方法是一会定义的,一步一步来,两个按钮都进行这样的处理

    记得两个按钮的名字和OnClick里面的方法名不一样

    private void ShowMessage(String str) {
            Toast.makeText(alert.this, str, Toast.LENGTH_LONG);
        }
    

    建立一个消息提示,具体的可以百度搜索Toast如何使用
    里面参数的意义为(当前类,提示的信息,提示的时间长短);
    (在中间那一行的后面加上.show();即可立即提示,这里的提示我们下面有相应的操作就不立即提示了)

     public void ShowDialogNormal() {
            AlertDialog.Builder normal = new AlertDialog.Builder(alert.this);
            normal.setIcon(R.drawable.cat);
            normal.setTitle("普通按钮标题");
            normal.setMessage("请保管对你的随身物品!");
            normal.setPositiveButton("确定", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    ShowMessage("你点击的普通按钮");
                }
            });
            normal.create().show();
        }
    

    单选按钮对话框的处理
    AlertDialog.Builder是提示对话框必需品需要实例化使用,参数为(当前的类)
    下一行设置的是提示对话框的图标

    下一行是提示对话框的标题

    下一行是提示对话框的内容

    下一行提示对话框的按钮(固定格式)
    参数为(按钮的内容,DialogInterface.OnClickListener)

    在OnClick里面写的是刚才声明的方法(传入的参数为你要提示的内容)

    最后进行创造并且显示出来

     public  void  ShowDialogMany(){
            AlertDialog.Builder many = new AlertDialog.Builder(alert.this);
            many.setIcon(R.drawable.cow);
            many.setTitle("多选按钮标题");
            many.setMessage("对多选按钮的态度吗");
             many.setNeutralButton("中立", new DialogInterface.OnClickListener() {
               @Override
               public void onClick(DialogInterface dialog, int which) {
                   ShowMessage("中立按钮");
               }
           });
             many.setNegativeButton("反对", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    ShowMessage("反对按钮");
                }
            });
            many.setPositiveButton("确定", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    ShowMessage("您点击的确定");
                }
            });
          
    
          
            many.create().show();
       }
    

    多选按钮对话框的处理
    AlertDialog.Builder是提示对话框必需品需要实例化使用,参数为(当前的类)
    下一行设置的是提示对话框的图标

    下一行是提示对话框的标题

    下一行是提示对话框的内容

    第一个提示对话框的按钮(固定格式)
    参数为(按钮的内容,DialogInterface.OnClickListener)这个按钮会提示在左面

    第二个提示对话框按钮会提示在中间靠右(从右往左数第二个)

    第三个提示对话框按钮会提示在最右面

    这三个设置的对话框按钮有稍许的不同

    在这里插入图片描述

    运行运行运行:
    界面
    在这里插入图片描述
    运行单选按钮:
    在这里插入图片描述

    运行多选按钮:

    在这里插入图片描述

  • 相关阅读:
    C# 翻页设计:首页,上一页,下一页,末页 ,跳转
    sqlsever2008数据库的备份与还原
    解决treeview的同一节点单击多次的执行问题
    juery mobile select下来菜单选项提交form问题
    利用 lucene.net 实现高效率的 WildcardQuery ,记一次类似百度搜索下拉关键字联想功能的实现。
    字符编码笔记:ASCII,Unicode和UTF-8 转
    由三目运算符 == ? : 引起的一个问题,醉了,基础不过关。记录一下,比较简单的一个问题,只是为了记录一下
    记一次排错,windows日志 模块 DLL C:Windowssystem32inetsrvaspnetcore.dll 未能加载。返回的数据为错误信息。
    windows xp 连接USB网络打印机服务器(通用所有usb网络打印机服务器的安装)
    try catch中用了 Response.Redirect 引发的线程异常终止
  • 原文地址:https://www.cnblogs.com/a1439775520/p/12946986.html
Copyright © 2011-2022 走看看