Android 多选列表

原文:http://blog.csdn.net/wljun739/article/details/37655209

点击阅读原文

-----------------------------------------------------------

1、activity_main.xml

[java] view plaincopy
  1. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  2.     android:layout_width="fill_parent"  
  3.     android:layout_height="fill_parent"  
  4.     android:orientation="vertical">  
  5.   
  6.     <Button  
  7.         android:id="@+id/button1"  
  8.         android:layout_width="fill_parent"  
  9.         android:layout_height="wrap_content"  
  10.         android:text="多项选择列表框" />  
  11.   
  12. </LinearLayout>  

2、MainActivity.java类的实现

[java] view plaincopy
  1. import java.util.ArrayList;  
  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.View;  
  8. import android.view.View.OnClickListener;  
  9. import android.widget.Button;  
  10. import android.widget.Toast;  

类的实现

[java] view plaincopy
  1. public class MainActivity extends Activity {  
  2.     private Button btn1;  
  3.     ArrayList<Integer>MultiChoiceID = new ArrayList<Integer>();  
  4.       
  5.     @Override  
  6.     protected void onCreate(Bundle savedInstanceState) {  
  7.         super.onCreate(savedInstanceState);  
  8.         setContentView(R.layout.activity_main);  
  9.           
  10.         final String [] nItems = {"item1","item2","item3","item4","item5","item6"};  
  11.           
  12.         btn1 = (Button) findViewById(R.id.button1);  
  13.         btn1.setOnClickListener(new OnClickListener() {  
  14.               
  15.             @Override  
  16.             public void onClick(View v) {  
  17.                 AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);  
  18.                   
  19.                 MultiChoiceID.clear();  
  20.                 builder.setIcon(R.drawable.ic_launcher);  
  21.                 builder.setTitle("多项选择");  
  22.                 //  设置多选项  
  23.                 builder.setMultiChoiceItems(nItems,   
  24.                         new boolean[]{false,false,false,false,false,false},  
  25.                         new DialogInterface.OnMultiChoiceClickListener() {  
  26.                       
  27.                             @Override  
  28.                             public void onClick(DialogInterface arg0, int arg1, boolean arg2) {  
  29.                                 // TODO Auto-generated method stub  
  30.                                 if (arg2) {  
  31.                                     MultiChoiceID.add(arg1);  
  32.                                     String tip = "你选择的ID为"+arg1+",值为"+nItems[arg1];  
  33.                                     Toast toast = Toast.makeText(getApplicationContext(), tip, Toast.LENGTH_SHORT);  
  34.                                     toast.show();  
  35.                                 }  
  36.                                 else {  
  37.                                     MultiChoiceID.remove(arg1);  
  38. 这个代码有问题,会报java.lang.IndexOutOfBoundsException: Invalid index 1, size is 1
  39. 因为remove(int index),当int类型的生活,remove不是对象是索引对应的值了。
  40.                                 }  
  41.                             }  
  42.                 });  
  43.                 //  设置确定按钮  
  44.                 builder.setPositiveButton("确定"new DialogInterface.OnClickListener() {  
  45.                       
  46.                     @Override  
  47.                     public void onClick(DialogInterface arg0, int arg1) {  
  48.                         // TODO Auto-generated method stub  
  49.                         String str = "";  
  50.                         int size = MultiChoiceID.size();  
  51.                         for(int i = 0; i < size; i++) {  
  52.                             str += (nItems[MultiChoiceID.get(i)]+",");  
  53.                         }  
  54.                         Toast toast = Toast.makeText(getApplicationContext(), "你选择了"+str, Toast.LENGTH_LONG);  
  55.                         toast.show();  
  56.                     }  
  57.                 });  
  58.                 //  设置取消按钮  
  59.                 builder.setNegativeButton("取消"new DialogInterface.OnClickListener() {  
  60.                       
  61.                     @Override  
  62.                     public void onClick(DialogInterface arg0, int arg1) {  
  63.                         // TODO Auto-generated method stub  
  64.                           
  65.                     }  
  66.                 });  
  67.                   
  68.                 builder.create().show();  
  69.             }             
  70.         });  
  71.     }  
  72. }  

3、效果图

效果图



-------------

更多的Java,Angular,Android,大数据,J2EE,Python,数据库,Linux,Java架构师,:

http://www.cnblogs.com/zengmiaogen/p/7083694.html


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/538826.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python自带的编辑器怎么换行_Python3基础 print 自带换行功能

镇场诗&#xff1a; ———大梦谁觉&#xff0c;水月中建博客。百千磨难&#xff0c;才知世事无常。 ———今持佛语&#xff0c;技术无量愿学。愿尽所学&#xff0c;铸一良心博客。 —————————————————————————————————————————— 1 …

leetcode 回文数

2019独角兽企业重金招聘Python工程师标准>>> 判断一个整数是否是回文数。回文数是指正序&#xff08;从左向右&#xff09;和倒序&#xff08;从右向左&#xff09;读都是一样的整数。 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向右…

Hadoop控制输出文件命名

原文地址&#xff1a;http://blog.csdn.net/zuochanxiaoheshang/article/details/8769198 点击阅读原文 --------------------------------------------------- Hadoop 控制输出文件命名 在一般情况下&#xff0c;Hadoop 每一个 Reducer 产生一个输出文件&#xff0c;文件以 …

前端路由的两种实现原理

2019独角兽企业重金招聘Python工程师标准>>> History API 这里不细说每一个 API 的用法&#xff0c;大家可以看 MDN 的文档&#xff1a;https://developer.mozilla.org... 重点说其中的两个新增的API history.pushState 和 history.replaceState 这两个 API 都接收三…

3.JDK和JRE和JVM的区别

JDK --Java Development Kit --java 开发工具包 JRE --Java Runtime Environment --java运行时环境 JVM --Java Virtual Machine --java虚拟机 ------------- 更多的Java&#xff0c;Angular&#xff0c;Android&#xff0c;大数据&#xff0c;J2EE&#xff0c;Python…

缓存cache

由于Django是动态网站&#xff0c;所有每次请求均会去数据进行相应的操作&#xff0c;当程序访问量大时&#xff0c;耗时必然会更加明显&#xff0c;最简单解决方式是使用&#xff1a;缓存&#xff0c;缓存将一个某个views的返回值保存至内存或者memcache中&#xff0c;5分钟内…

4.JVM简述

JVM是一种规范。 就是一个虚拟的用于执行bytecodes字节码的计算机 可以用软件来实现&#xff0c;如IBM,SUN,BEA等按照这个规范实现&#xff0c;可以实现比SUN公司更好的JVM&#xff0c;我们自己也可以实现一个。 可以使用硬件来实现&#xff0c;如sun与intel公司研发java的芯…

5.JDK环境配置

下载 进入Oracle官网下载&#xff0c;点击进入 安装 一路下一步。记住安装到哪里了。 配置环境变量 JAVA_HOME 刚才的java安装目录 PATH %JAVA_HOME%\bin PATH里配置多个用英文的分号; 分隔。 *classpath&#xff0c;jdk5.0以上可以不用配置了 测试 windows下&#xf…

6.第一个程序Hello World

新建文件夹 在C盘新建个文件夹 mycode。注意不要用中文。 新建java文件 1、显示隐藏文件名。 2、右键新建文本文件 3、重命名为 Welcome.java。&#xff08;首字母必须大写。如果不显示隐藏文件名&#xff0c;会是Welcome.java.txt不是java文件&#xff09; 4、编写代码 p…

pythonstdin_python 笔试输入:sys.stdin.readline和input

①&#xff1a;输入一行数据并输 出两种方法 # 输入一行数据并输出 import sys # 方法一&#xff1a; str1 input() print(input 输入:,str1,len,len(str1)) print(循环遍历输入得到输入的每个字符的ascii码如下&#xff1a;) for i in str1: print(ord(i)) # 方法二&#xff…

8.对Hello World程序的深入

Welcome.java public class Welcome{public static void main(String[] args){System.out.println("Hello World,I am Java!");}}1、Java对大小写敏感。如果出现了大小写拼写错误&#xff0c;程序无法运行。 关键字class表明Java程序中的全部内容都包含在类中&…

python整数类型没有取值范围限制_详解Python中6种数据类型

Python中数据类型主要有六种&#xff1a;数字类型&#xff0c;字符串类型&#xff0c;元组类型&#xff0c;列表类型&#xff0c;文件类型和字典类型&#xff0c;我们今天先介绍前四种类型。 假如在Python程序中&#xff0c;出现了“010”&#xff0c;那么这个“010”到底是什么…

python爬虫的用途_python爬虫用途

广告关闭 腾讯云11.11云上盛惠 &#xff0c;精选热门产品助力上云&#xff0c;云服务器首年88元起&#xff0c;买的越多返的越多&#xff0c;最高返5000元&#xff01;专业点来说就是应用多台机器同时实现爬虫任务&#xff0c;这多台机器上的爬虫&#xff0c;就是称作分布式爬虫…

二元函数泰勒公式例题_高等数学期末总复习 DAY 5. 罗尔定理证明题 拉格朗日、柯西中值定理 泰勒公式及麦克劳林公式...

DAY 5.DAY 5.1.罗尔定理2.拉格朗日定理3.柯西中值定理4.泰勒公式及麦克劳林公式1.罗尔定理罗尔定理描述如下&#xff1a;如果 R 上的函数 f(x) 满足以下条件&#xff1a;&#xff08;1&#xff09;在闭区间 [a,b] 上连续&#xff0c;&#xff08;2&#xff09;在开区间 (a,b) 内…

android应用程序是什么,简述Android应用程序结构是什么?公共题库

试题分类&#xff1a;Android简述Android应用程序结构是什么?解析:Android应用程序结构是&#xff1a;LinuxKernel(Linux内核)、Libraries(系统运行库或者是c/c核心库)、ApplicationFramework(开发框架包)、Applications(核心应用程序)以下这些控件可以放置按钮&#xff1f;答…

《程序设计与数据结构》第八周学习总结

学号 20172326 《程序设计与数据结构》第八周学习总结 教材学习内容总结 后绑定在程序执行时执行多态性可由继承与接口实现排序有选择法排序与插入法排序搜索分为线性搜索与二分搜索算法&#xff0c;同一类型的不同方法可能解决同一问题&#xff0c;但是&#xff0c;效率与难以…

python获取文件名不含后缀名_大部分Python资料都没有说到的重点-用实战教你解决问题的思路...

前言最近有些刚入门Python的小伙伴问我&#xff0c;他已经学会了大部分语法&#xff0c;基本的列表&#xff0c;元组也会使用&#xff0c;但是在实际中需要做一点小需求的时候&#xff0c;仍然不知所措。解决问题重要的并非是如何写代码&#xff0c;而是如何分析和拆解问题&…

12.JAVA基本数据类型

Java是一种强类型语言&#xff0c;每个变量都必须声明类型。 String 不是java的基本数据类型&#xff01;&#xff01;&#xff01; 除了8种基本数据类型之外&#xff0c;其他的都是引用类型。 引用类型的初始值是null byte&#xff0c;short&#xff0c;int类型的默认值为0 …

opencv android jni,OpenCV - AndroidStudio的JNI工程及引用OpenCV

一把利刃&#xff0c;用不好&#xff0c;会伤到你遍体鳞伤。用得好&#xff0c;便为你披荆斩棘&#xff0c;所向披靡。好与不好之间&#xff0c;便是历练。几经波折&#xff0c;终于跌跌撞撞,集成了OpenCV,并实现了灰度图片&#xff0c;自此一扇新的大门已经打开。至此我手中已…

excel图表交互联动_深入讲解EasyShu图表与引用数据动态联动功能

EasyShu一开始的架构是将制作好的图表最终返回给用户&#xff0c;不依赖用户工作表的单元格区域引用&#xff0c;可满足图表绘制后的脱离数据源分享传播&#xff0c;无奈用户最强烈的反馈是要求图表与数据保持联动&#xff0c;这一需求实在对EasyShu是一个巨大的挑战。为了将Ea…