显示单选列表对话框

通过AlertDialog.Builder类的setSingleChoiceItems方法可以创建带单按钮的列表:方法如下:
1、从资源文件中装载数据:
public Builder setSingleChoiceItems(int itemsId, int checkedItem, final OnClickListener listener)
2、从数据集中装载数据
public Builder setSingleChoiceItems(Cursor cursor, int checkedItem, String labelColumn, final OnClickListener listener)
3、从字符串数组中装载数据
public Builder setSingleChoiceItems(CharSequence[] items, int checkedItem, final OnClickListener listener)
4、从ListAdapter对象中装载数据
public Builder setSingleChoiceItems(ListAdapter adpater, int checkedItem, final OnClickListener listener)
android 显示单选列表对话框 builder.setSingleChoiceItems - blubels - blubels的博客

 

 

 

 

 

 

package com.js.sinlgechoiceitemstest;

 

import android.app.Activity;

import android.app.AlertDialog;

import android.content.DialogInterface;

import android.os.Bundle;

import android.os.Handler;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.Toast;

 

public class SingleChoiceItemsTest extends Activity implements OnClickListener

{

    private String[] province = new String[] { "上海""北京""湖南""湖北""海南" };

    private Button btnSingleChoiceList;

    // 单击事件对象的实例

    private ButtonOnClick buttonOnClick = new ButtonOnClick(1);

 

    /** Called when the activity is first created. */

    @Override

    public void onCreate(Bundle savedInstanceState)

    {

       super.onCreate(savedInstanceState);

       setContentView(R.layout.main);

 

       btnSingleChoiceList = (Button) findViewById(R.id.btnSingleChoice);

       btnSingleChoiceList.setOnClickListener(this);

    }

 

    @Override

    public void onClick(View v)

    {

       showSingleChoiceButton();

    }

 

    // 在单选选项中显示 确定和取消按钮

    //buttonOnClickg变量的数据类型是ButtonOnClick,一个单击事件类

    private void showSingleChoiceButton()

    {

       AlertDialog.Builder builder = new AlertDialog.Builder(this);

       builder.setTitle("请选择省份");

       builder.setSingleChoiceItems(province, 0, buttonOnClick);

       builder.setPositiveButton("确定"buttonOnClick);

       builder.setNegativeButton("取消"buttonOnClick);

       builder.show();

    }

 

    private class ButtonOnClick implements DialogInterface.OnClickListener

    {

      

       private int index// 表示选项的索引

 

       public ButtonOnClick(int index)

       {

           this.index = index;

       }

 

       @Override

       public void onClick(DialogInterface dialog, int which)

       {

           // which表示单击的按钮索引,所有的选项索引都是大于0,按钮索引都是小于0的。

           if (which >= 0)

           {

              //如果单击的是列表项,将当前列表项的索引保存在index中。

              //如果想单击列表项后关闭对话框,可在此处调用dialog.cancel()

              //或是用dialog.dismiss()方法。

              index = which;

           }

           else

           {

              //用户单击的是【确定】按钮

              if (which == DialogInterface.BUTTON_POSITIVE)

              {

                  //显示用户选择的是第几个列表项。

                  final AlertDialog ad = new AlertDialog.Builder(

                          SingleChoiceItemsTest.this).setMessage(

                          "你选择的地区是:" + index + ":" + province[index]).show();

                  //五秒钟后自动关闭。

                  Handler hander = new Handler();

                  Runnable runnable = new Runnable()

                  {

 

                     @Override

                     public void run()

                     {

                         ad.dismiss();

                     }

                  };

                  hander.postDelayed(runnable, 5 * 1000);

              }

              //用户单击的是【取消】按钮

              else if (which == DialogInterface.BUTTON_NEGATIVE)

              {

                  Toast.makeText(SingleChoiceItemsTest.this"你没有选择任何东西",

                          Toast.LENGTH_LONG);

              }

           }

       }

    }

}

转载于:https://www.cnblogs.com/dachao/archive/2012/05/28/2521216.html

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

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

相关文章

全修CALL

PUSH -1PUSH 0PUSH 0CALL 005A8690ADD ESP,0Cbp send,点全修CTRLf9一直返回到没有参数 基本上这个返回就是 功能CALL 0012EB08 005869B2 返回到 elementc.005869B2 来自 elementc.0058E8A00012EB1C 00588B1F 返回到 elementc.00588B1F 来自 elementc.005869800012EB28 …

OSChina 周六乱弹 —— 这个版本的小红帽听说过吗?

2019独角兽企业重金招聘Python工程师标准>>> 想想当年刚出来工作的时候,小小编还真是单纯,以为广阔天地大有作为,可是呢。。。 上热门:刚出来工作的时候,大人千叮万嘱社会很复杂,要学会控制自己…

XML解析

一、解析xml的两种方式 1、 其中,xml文件被解析之后产生的dom树可能是原xml文件内存的成千上万倍,所以占内存;一般是服务器端; 2、sax逐行读取解析的方式,读一行释放一行,移动端采用; 其中&…

Arcgis Server初学笔记(一)

什么是Arcgis Server(以下简称AS)? AS是一个基于web的企业级GIS解决方案。AS为创建和管理基于服务器的GIS应用提供了一个高效的框架平台。AS宿主了各种GIS资源,并把他们作为服务发送到客户端。Accgis Server架构 AS是一个分布系统,…

XML解析——Jsoup解析器

一、Jsoup解析器快速入门案例 Docement对象,文本对象,包含着各个Dom树结构 1、引入Jsoup解析器的jar包放在lib文件夹下后,写java代码 其中, 二、Jsoup对象 1、Jsoup解析器解析xml和html的有关对象 其中,通过统计资源定…

jQuery缓存数据——仿Map

2019独角兽企业重金招聘Python工程师标准>>> 最近在工作中遇到了这样一个情景。有些数据是从后台读取的,但是我暂时不需要展示在页面上,那怎么办呀?——缓存呀。今天我就来分享一下我所了解的Jquery缓存数据的方法。 首先分享1篇博…

Jsoup快速查询

一、selector选择器 二、Xpath查询 转载于:https://www.cnblogs.com/wmqiang/p/11568184.html

Servlet生命周期和方法

一、五个生命周期方法,有三个很重要,初始化方法、提供服务方法和销毁方法 1、三个主要方法 2、另外两个重写的成员方法只做了解 二、生命周期详解 其中,每次刷新页面都是一次对servlet访问; 页面访问,根据域名找到主机…

Servlet3.0注解配置访问路径和urlParttern配置

一、Servlet用注解配置访问路径 二、IDEA的tomcat相关配置 其中,第一点的配置文件,直接在IDEA的可视化操作界面修改就可以改掉配置文件中内容; 三、urlParttern配置 其中,* 时通配符,优先级最低; 转载于:ht…

现货黄金入门知识普及一:图形分析之K线理论

K线又称阴阳线、棒线、红黑线或蜡烛线,最早起源于日本德川幕府时代的米市交易,经过二百多年的演进,现已广泛应用于证券市场的技术分析中,成为技术分析中的最基本的方法之一,从而形成了现在具有完整形式和分…

openssl工具的使用以及创建私有CA

openssl软件包在安装之后,主要会生成三段重要内容:加密库ssl相关库文件openssl命令行工具下面就来介绍一下openssl命令行工具的使用:openssl和yum类似,有着许许多多的子命令:如果要获得这些子命令的相关man文档&#x…

Servlet体系结构

一、使用HttpServlet 其中,HttpServlet在重写的service()方法中对http请求的共7中提交方式进行了判断,所以只要我们只要重写对应的请求方式处理逻辑方法 doGet()和doPost()方法就可以; 浏览器直接访问servelet是get请求,参数列表会…

HTTP快速入门

一、tomcat端口号设置为80,访问时候可以不加;http协议1.1版本可以复用连接,请求结束后会稍微等会; 二、 表单,get方式提交: 三、user-agent告诉服务器是哪个浏览器,代码中解决兼容性问题&#x…

分类(二):基于向量空间模型的文本分类

2019独角兽企业重金招聘Python工程师标准>>> 利用向量空间模型进行文本分类的思路主要基于邻近假设(contiguity hypothesis)。 邻近假设: 同一类的文档会构成一个邻近区域,而不同类的邻近区域之间是互不重叠的。 1、Ro…

Request请求对象

一、Request对象由服务器创建,我们使用 浏览器访问服务器资源原理: 二、Request体系结构 其中,servlet 的service()方法参数列表是 servletRequest对象, HttpServlet 的 doGet()和 doPost() 方法参数列表是用的 HttpServletReques…

Walle 瓦力 web部署系统

Walle 一个web部署系统工具,可能也是个持续发布工具,配置简单、功能完善、界面流畅、开箱即用! 安装步骤: 1. git clone 首先配置成功(去百度找答案) 打开git bash命令窗口执行: git clone gitg…

mysqlbinlog恢复误删数据

概述 代码bug,在处理上传出现异常时执行了DELETE FROM t_resource WHERE resource_id ? OR parent_id ?因为OR条件导致用户的上传的所有数据被清空了。 show 查看是否有开启log-bin备份 show variables like log_bin 欣慰的是,已经开启了二…

Quartz.NET 架构与源代码分析系列 part 1 :Quartz.NET 入门

概述 作业调度的目标在于按照预先确定的时间和指定的顺序来确保高效的数据处理流程,从而最大限度的使用系统资源。批处理流程是一种在无需最终用户干预的方式下在后台通过顺序方式运行的操作。 Windows XP系统也自带了“任务计划”,它是一个简单任务调度…

Request登录案例

一、分析和设计 1、需求 2、页面 3、druid连接池 4、jar包 5、需求设计 二、代码实现 1、web_WEB-INFO_lib使用之前要先将jar包加入工作空间, 2、JDBC工具类 3、Dao层持久化层 其中,有异常除了输出控制台日志,还可以输出流写入到一个文件中记…