博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
安卓开发_使用AlertDialog实现对话框
阅读量:6227 次
发布时间:2019-06-21

本文共 6509 字,大约阅读时间需要 21 分钟。

示例:

一、确定对话框

1 AlertDialog.Builder builder = new AlertDialog.Builder(this); 2             builder.setTitle("确认对话框"); 3             builder.setIcon(R.drawable.icon_72); 4             builder.setMessage("这里是对话框内容"); 5             builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { 6                  7                 @Override 8                 public void onClick(DialogInterface arg0, int arg1) { 9                     // TODO Auto-generated method stub10                     Toast.makeText(AlertDialog_text.this, "点击了确定按钮", 1).show();11                 }12             });13             AlertDialog dialog = builder.create();14             dialog.show(); //显示、
View Code

二、普通列表

1 final String[] items = new String[]{
"语文","数学","英语","物理","化学"}; //列表项 2 Builder alertdialog = new AlertDialog.Builder(this); 3 alertdialog.setTitle("你喜欢的课程").setItems(items, new DialogInterface.OnClickListener() { 4 5 @Override 6 public void onClick(DialogInterface dialog, int which) { 7 // TODO Auto-generated method stub 8 Toast.makeText(AlertDialog_lianxi.this, items[which], Toast.LENGTH_SHORT).show(); 9 10 }11 });12 alertdialog.create().show(); //创建显示列表
普通列表

 

三、单选列表

1 final String[] items_fruit = new String[]{
"苹果","香蕉","橘子","西瓜","梨"}; 2 Builder alerdialog = new AlertDialog.Builder(this); 3 //设置列表标题 4 alerdialog.setTitle("你喜欢的水果"); 5 //设置单选列表 6 alerdialog.setSingleChoiceItems(items_fruit, 0, new DialogInterface.OnClickListener() { 7 @Override 8 public void onClick(DialogInterface dialog, int which) { 9 // TODO Auto-generated method stub10 Toast.makeText(AlertDialog_lianxi.this, items_fruit[which], Toast.LENGTH_SHORT).show();11 12 }13 });14 //设置取消按钮并且设置响应事件15 alerdialog.setNegativeButton("取消", new DialogInterface.OnClickListener() {16 17 @Override18 public void onClick(DialogInterface dialog, int which) {19 // TODO Auto-generated method stub20 //取消按钮响应事件21 }22 });23 //添加确定按钮 并且设置响应事件24 alerdialog.setPositiveButton("确定", new DialogInterface.OnClickListener() { 25 26 @Override27 public void onClick(DialogInterface dialog, int which) {28 // TODO Auto-generated method stub29 //确定按钮响应事件30 }31 });32 33 alerdialog.create().show();//创建显示列表
单选列表

四、多选列表

1 final String[] items_fruit1 = new String[]{
"苹果","香蕉","橘子","西瓜","梨"}; //设置项 2 final boolean[] items_fruit_selected = new boolean[]{
true,false,false,false,false}; 3 Builder alerdialog1 = new AlertDialog.Builder(this); 4 //设置列表标题 5 alerdialog1.setTitle("你喜欢的水果"); 6 //设置多选列表 7 alerdialog1.setMultiChoiceItems(items_fruit1, items_fruit_selected, new DialogInterface.OnMultiChoiceClickListener() { 8 9 @Override10 public void onClick(DialogInterface dialog, int which, boolean isChecked) {11 // TODO Auto-generated method stub12 items_fruit_selected[which] = isChecked;13 }14 });15 //设置取消按钮并且设置响应事件16 alerdialog1.setNegativeButton("取消", new DialogInterface.OnClickListener() {17 18 @Override19 public void onClick(DialogInterface dialog, int which) {20 // TODO Auto-generated method stub21 //取消按钮响应事件22 }23 });24 //添加确定按钮 并且设置响应事件,将选择的项显示25 alerdialog1.setPositiveButton("确定", new DialogInterface.OnClickListener() { 26 27 @Override28 public void onClick(DialogInterface dialog, int which) {29 // TODO Auto-generated method stub30 //确定按钮响应事件31 StringBuilder stringBuilder = new StringBuilder();32 for(int i=0;i
多选列表

 

5、自定义布局对话框

对话框布局文件

1 
2
7 8
13 14
20
25
layout_dialog
1 package com.example.demo1; 2  3 import android.app.Activity; 4 import android.app.AlertDialog; 5 import android.content.DialogInterface; 6 import android.os.Bundle; 7 import android.view.LayoutInflater; 8 import android.view.View; 9 import android.view.View.OnClickListener;10 import android.widget.Button;11 12 public class MainActivity extends Activity {13     private Button btn_openDialog;14     private View view;15     @Override16     protected void onCreate(Bundle savedInstanceState) {17         super.onCreate(savedInstanceState);18         setContentView(R.layout.activity_main);19         btn_openDialog = (Button) findViewById(R.id.id_submit);20         btn_openDialog.setOnClickListener(new OnClickListener() {21             22             @Override23             public void onClick(View v) {24                 // TODO Auto-generated method stub25                 view = LayoutInflater.from(MainActivity.this).inflate(R.layout.layout_dialog, null);26                 AlertDialog dialog = new AlertDialog.Builder(MainActivity.this)27                                      .setTitle("主题")28                                      .setIcon(R.drawable.ic_launcher)29                                      .setView(view)30                                      .setPositiveButton("取消", new DialogInterface.OnClickListener() {31                                         32                                         @Override33                                         public void onClick(DialogInterface dialog, int which) {34                                             // TODO Auto-generated method stub35                                             36                                         }37                                     })38                                      .create();39                 dialog.show();40             }41         });42         43         44     }45 46     47 48 }
MainActivity.class

 

转载地址:http://aijna.baihongyu.com/

你可能感兴趣的文章
Linux虚拟化技术KVM、QEMU与libvirt的关系(转)
查看>>
Ceph分布式存储-原理介绍及简单部署
查看>>
MYSQL数据库设计规范与原则
查看>>
UWP: 实现 UWP 应用自启动
查看>>
Windows内核之进程的终止和子进程
查看>>
Vivado+FPGA:如何使用Debug Cores(ILA)在线调试(烧录到flash里可以直接启动)
查看>>
[Preference] How to avoid Forced Synchronous Layout or FSL to improve site preference
查看>>
【laravel5.4】php artisan migrate报错:Specified key was too long; max key length is 767 bytes
查看>>
[转]外贸出口流程图
查看>>
微信小程序onLaunch修改globalData的值
查看>>
php实现简单算法3
查看>>
打陀螺
查看>>
phpStudy中升级MySQL版本到5.7.17的方法步骤
查看>>
SQLServer BI 学习笔记
查看>>
sublim课程2 sublim编辑器的使用(敲代码的时候把这个放旁边用)
查看>>
什么是Solr
查看>>
oracle 12cR1&12cR2核心高实用性新特性
查看>>
pandas Series的sort_values()方法
查看>>
SQL SERVER CHAR ( integer_expression )各版本返回值差异的案例
查看>>
pytest文档7-pytest-html生成html报告
查看>>