显示单选列表对话框

通过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,一经查实,立即删除!

相关文章

Facade模式

Facade模式 一、概述Facade(外观)模式为子系统中的各类(或结构与方法)提供一个简明一致的界面,隐藏子系统的复杂性,使子系统更加容易使用。实际应用中,我们在对付一些老旧的code(尤其…

ceph启动脚本

放在/etc/init.d/目录下,用法如下: 1 rootu253:~# /etc/init.d/ceph 2 mon.a 3 usage: /etc/init.d/ceph [options] {start|stop|restart} [mon|osd|mds]... 4 -c ceph.conf 5 --valgrind run via valgrind 6 --hostname [hostname] …

全修CALL

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

.NET框架类库中的命名空间

.NET 框架类库是一个由 Microsoft .NET 框架 SDK 中包含的类、接口和值类型组成的库。 该库提供对系统功能的访问,并且被设计为 .NET 框架应用程序、组件和控件的生成基础。 .NET 框架类库提供下列命名空间: l Microsoft.CSharp 包含支持用 C# 语言进行…

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的有关对象 其中,通过统计资源定…

Linux下MPlayer的安装

Linux下MPlayer的安装 收藏 mplayer是linux下播放速度最快(正确安装了显卡驱动),支持媒体格式最多的播放器之一 ,它几乎能播放所有的win媒体文件!下面介绍它的安装方法: 安装大前提: 要编译这个软件,确认你系统安装了相应的XFree…

jQuery缓存数据——仿Map

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

【摘抄】百度分词算法详解:查询处理以及分词技术

随着搜索经济的崛起,人们开始越加关注全球各大搜索引擎的性能、技术和日流量。作为企业,会根据搜索引擎的知名度以及日流量来选择是否要投放广告等;作为 普通网民,会根据搜索引擎的性能和技术来选择自己喜欢的引擎查找资料&#x…

Jsoup快速查询

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

ShellAPI 调用搜索引擎

//调用搜索引擎 uses ShellAPI;//google web searchprocedure TForm1.Button1Click(Sender: TObject);var SearchStr:PWideChar; SearchEngineStr:string;begin SearchEngineStr:http://search.yahoo.com/search?p; SearchStr:PWideChar(SearchEngineStr Edit1.Text); …

read name 和 read 在 Bash 中的区别

read 带一个参数和不带参数的区别是什么,我本以为仅仅是被赋值的变量的名字不同而已: $ read name 1 $ echo "$name" 1 $ read 1 $ echo "$REPLY" 1 当没有指定变量名时,read 会给默认的变量 REPLY 赋值,仅此…

李开复:2009地图与移动搜索快速增长

新浪科技讯 2月20日下午消息,谷歌大中华区总裁李开复今日召开媒体见面会,探讨谷歌2009年的发展重点和方向,李开复称地图与移动搜索将会迅速成长。以下为文字实录: 李开复:Google每次有员工大会,会把在北京、…

Qt SD卡 文件系统挂载、文件预览

/*********************************************************************************** Qt SD卡 文件系统挂载、文件预览* 声明:* 1. 验证挂载SD卡;* 2. QTreeView显示文件系统文件;* 3. UI线程、普通…

c# 文件压缩、解压及下载

C#打包文件夹成zip格式(包括文件夹和子文件夹下的所有文件) C# 文件压缩与解压(ZIP格式) asp.net实现文件夹及文件压缩,并实现下载转载于:https://www.cnblogs.com/myparamita/archive/2012/06/04/2534206.html

Servlet生命周期和方法

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

如何查看端口被占用

最近在做有关WCF的系统,可能是在方法回调的过程中会默认通过TCP:80端口,报错为80端口被占用,然而我又不知道什么程序占用了80端口,上网一找,没想真不少人碰到我一样的问题,嘿嘿。 run "net…

centos7 搭建Docker Registry

registry2.x版本比1版本的速度快而且加了认证环境规划&#xff1a;192.168.0.167Registry192.168.0.168client192.168.0.1671.安装并启动docker#添加yum源 [rootRegistry ~]# sudo tee /etc/yum.repos.d/docker.repo <<-EOF [dockerrepo] nameDocker Repository baseurl …