Android基础--按钮监听事件练习(基础功能)

定义Button页面的文件 activity_button.xml 如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".ButtonActivity"
    android:orientation="vertical">

    <Button
        android:id="@+id/btm1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="点击了【取消】按钮"
        android:layout_marginTop="100dp"
        android:onClick="Click"/>

    <Button
        android:id="@+id/btm2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="简单列表对话框"
        android:layout_marginTop="50dp"
        android:onClick="Click"/>

    <Button
        android:id="@+id/btm3"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="单选列表对话框"
        android:layout_marginTop="50dp"
        android:onClick="Click"/>

    <Button
        android:id="@+id/btm4"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="多选列表对话框"
        android:layout_marginTop="50dp"
        android:onClick="Click"/>

    <Button
        android:id="@+id/btm5"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="自定义VIEW对话框"
        android:layout_marginTop="50dp"
        android:onClick="Click"/>
</LinearLayout>

设置逻辑的文件 ButtonActivity.java 如下:

package com.example.myapplication;

import android.app.Activity;
import android.content.DialogInterface;
import android.os.Bundle;

import com.google.android.material.floatingactionbutton.FloatingActionButton;
import com.google.android.material.snackbar.Snackbar;

import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;

import android.text.method.CharacterPickerDialog;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class ButtonActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_button);

    }

    public void Click(View v){
        switch(v.getId()){
            //获取Button的id进行判断
            case R.id.btm1:
                //声明对话框构建器
                AlertDialog.Builder btm1_builer = new AlertDialog.Builder(this);
                //设置对话框标题
                btm1_builer.setTitle("提示");
                //设置对话框主体内容
                btm1_builer.setMessage("请点击取消按钮");
                //设置“取消”选项
                btm1_builer.setNegativeButton("取消",null);
                //显示构建器
                btm1_builer.show();
                break;
            case R.id.btm2:
                //声明对话框内容列表
                final String[] btm2_items = {"C"};
                //声明对话框构建器
                AlertDialog.Builder btm2_builer = new AlertDialog.Builder(this);
                //设置对话框标题
                btm2_builer.setTitle("我是一个简单列表。");
                //设置对话框的内容列表
                btm2_builer.setItems(btm2_items, new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {

                    }
                });
                //显示构建器
                btm2_builer.show();
                break;
            case R.id.btm3:
                //使用数组作为对话框内容列表
                final String[] btm3_items = {"C","Java","Android"};
                //声明对话框构建器
                AlertDialog.Builder btm3_builer = new AlertDialog.Builder(this);
                //设置对话框标题
                btm3_builer.setTitle("我是一个单选列表。");
                //设置对话框的内容列表
                btm3_builer.setItems(btm3_items, new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {

                    }
                });
                //显示构建器
                btm3_builer.show(); 
                break;
            case R.id.btm4:
                //使用数组作为对话框多选列表
                final String[] btm4_items = {"C","C++","Python","Java","Android"};
                //设置初始状态为不勾选
                final boolean initChoiceSets[]={false,false,false,false,false};
                //声明对话框构建器
                AlertDialog.Builder btm4_builer = new AlertDialog.Builder(this);
                //设置对话框标题
                btm4_builer.setTitle("我是一个多选列表");
                //设置对话框的多选列表
                btm4_builer.setMultiChoiceItems(btm4_items, initChoiceSets, new DialogInterface.OnMultiChoiceClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which, boolean isChecked) {
                        Log.i("TEST", which+";"+isChecked);
                    }
                });
                //设置“确定”选项
                btm4_builer.setPositiveButton("确定",null);
                //显示构建器
                btm4_builer.show();   
                break;
            case R.id.btm5:
                //设置输入框
                final EditText editText = new EditText(this);
                //声明对话框构建器
                AlertDialog.Builder btm5_builer = new AlertDialog.Builder(this);
                //设置对话框标题,显示输入框
                btm5_builer.setTitle("我是一个自定义对话框").setView(editText);
                //设置“确定”选项
                btm5_builer.setPositiveButton("确定",null);
                //显示构建器
                btm5_builer.show();    
                break;
        }
    }
}

效果:

原文地址:https://www.cnblogs.com/Timesi/p/12525921.html