Android UI各种各样,下面是自己学习时写的多选对话框的实例。也在网上看了很多实例,但很多实例都没有将选择后的值显示出来,或者选择后,当用户取消选择时,以前选择的值还在的情况很多。下面是实例不会有这样的问题。

Android中的对话框形式有四种,分别是一般对话框形式,列表对话框形式,单选按钮对话框,多选按钮对话框,这里主要是针对多选对框框的介绍。

一、创建alertdialog工程,如图

二、activity_main.xml中代码

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context=".MainActivity" ><Buttonandroid:id="@+id/button1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerHorizontal="true"android:layout_centerVertical="true"android:text="显示对话框" /><TextViewandroid:id="@+id/textView1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_below="@+id/button1"android:layout_centerHorizontal="true"android:layout_marginTop="45dp"android:text="TextView" /></RelativeLayout>

View Code

三、MainActivity中的代码

package com.bruce.alertdialog;import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;public class MainActivity extends Activity {private Button button;private TextView textView;private CharSequence[] items = {"北京","上海","贵州"};private boolean[] mulchoice = new boolean[items.length];@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);button = (Button) findViewById(R.id.button1);textView = (TextView)findViewById(R.id.textView1);button.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View arg0) {for(int i = 0;i<items.length;i++){mulchoice[i] = false;}AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);builder.setTitle("请选择");builder.setMultiChoiceItems(items, mulchoice, new DialogInterface.OnMultiChoiceClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which, boolean isChecked) {mulchoice[which] = isChecked;Log.i("MyTest", "-->which=" + which);}});builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {String s = "";for(int i=0;i<items.length;i++){if(mulchoice[i]){s = s + items[i] + ",";}}textView.setText(s.substring(0, s.length()-1));}});AlertDialog dialog = builder.create();dialog.show();}});}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);return true;}}

View Code

四、测试

转载于:https://www.cnblogs.com/kingshow123/p/MultiChoicedialog.html

Android Alertdialog之多选对话框相关推荐

  1. Android Dialog实现全选反选

    Android的AlertDialog中可以通过builder.setMultiChoiceItems(....)来添加一个多选项,但是并不能实现对选项的全选/反选功能,所以需要自定义一个控件.原理是 ...

  2. android 单选框 icon,Android中的普通对话框、单选对话框、多选对话框、带Icon的对话框、以及自定义Adapter和自定义View对话框详解...

    标签: 对话框就是一个AlertDialog,但是一个简单的AlertDialog,我们却可以将它玩出许多花样来,下面我们就来一起总结一下AlertDialog的用法.看看各位童鞋在平时的工作中否都用 ...

  3. android单选对话框代码,Android实现单选与多选对话框的代码

    android开发中实现单选与多选对话框的代码非常简单,具体代码如下所示: public void myClick(View view) { // 单选对话框 //singleCheckDialog( ...

  4. Android——最全的系统对话框(AlertDialog)详解

    在实际应用开发中,用到系统对话框中的情况几乎是没有的.按开发流程来说,UI工程师都会给出每一个弹窗的样式,故而在实际开发中都是自定义弹窗的. 即使用到的地方不多,但是我们也是需要了解并且能熟练的运用它 ...

  5. android多选对话框应用,android dialog —— 多选列表对话框

    和单选列表对话框相似,这里需要通过setMultiChoiceItems将array.xml中的数据添加进去. 当单击列表项时会产生Click事件,这里用到的监听器是DialogInterface.O ...

  6. Android Dialog 普通对话框 单选对话框 多选对话框

    文章目录 1 Dialog介绍 2 AlertDialog对话框 2.1 主要方法 3 设置不同按钮 4 设置单选按钮 4.1 单选按钮方法 5 设置多选按钮 1 Dialog介绍 对话框是程序不用户 ...

  7. Android AlertDialog 对话框开启和关闭输入法问题

    Android AlertDialog 对话框开启和关闭输入法问题 AlertDialog 对话框是android jar包自带的对话框,说实话 真的很丑,黑白相间,不是很推荐使用.大多时候 特别是项 ...

  8. 一对一视频聊天软件源码,Android AlertDialog 对话框

    一对一视频聊天软件源码,Android AlertDialog 对话框实现的相关代码 button = (Button) findViewById(R.id.button_alertDialog);b ...

  9. Android对话框(普通对话框、单选对话框、多选对话框、进度条对话框)

    一.普通对话框 // 通过builder 构建器来构造AlertDialog.Builder builder = new Builder(this);builder.setTitle("警告 ...

  10. AlertDialog创建6种对话框的用法

    AlertDialog生成的对话框可分为4个区域:图标区,标题区,内容区,按钮区 结构如图: AlertDialog对话框的使用: 1,创建AlertDialog.Builder对象 2,调用Buil ...

最新文章

  1. 微软宣布推出Windows Embedded Compact 2013正式版
  2. postgresql介绍,安装,启动
  3. Java之SPI机制
  4. Java——递归调用
  5. 三层架构---理论篇
  6. C++类构造析构调用顺序训练(复习专用)
  7. 前端学习(2181):vue-router导航守卫的补充
  8. IOS web app一些实用的属性设置
  9. HDU 3896 Greatest TC 双连通分量
  10. 自学C语言能到达怎样的高度?
  11. udp模拟tcp java_Java简单实现UDP和TCP
  12. 从有限状态机(FSM)到行为树(Behavior Tree)(2)
  13. linux系统同时安装python2.x和3.x
  14. [转载] ubuntu下pip的安装、升级和使用
  15. 文献调研(一):基于集成学习和能耗模式分类的办公楼小时能耗预测
  16. linux 内核udp编程,[求助]linux内核代码udp_recvmsg()函数中的代码绕过问题。
  17. 编程入门:零基础想要学好C/C++编程?那你一定要看看这五个步骤!
  18. 输入方向的流量控制 --ifb
  19. Jenkins 自动构建之日程表配置
  20. 爬取房天下新房、二手房房源数据(scrapy-redis分布式爬虫)

热门文章

  1. 最简单的方式开发一个高并发服务器
  2. the 1st one
  3. 一体化方案解决大数据处理的两个难题
  4. 金蝶徐少春与北大学生分享“最伟大的梦想”
  5. Intellij IDEA 配置 Code Style
  6. GitHub 打钱了,10 万美元!
  7. 面试再问HashMap,求你把这篇文章发给他!
  8. 你见过世界顶级公司的最垃圾的代码是什么?
  9. 大牛总结的 Git 使用技巧,写得太好了!
  10. 如何快速搭建一个微服务架构?