列表选择Spinner
1.只用XML配置来显示列表
在res\values中添加一个arrays.xml

1 <?xml version="1.0" encoding="utf-8"?>
2 <resources>
3
4 <string-array name="books">
5 <item>口里奇才</item>
6 <item>凸显</item>
7 <item>下雨目前</item>
8 <item>越来越一直在于</item>
9 </string-array>
10
11 </resources>

在主页面的xml中添加Spinner
1 <Spinner
2 android:id="@+id/spi3"
3 android:layout_width="match_parent"
4 android:layout_height="wrap_content"
5 android:entries="@array/books" >
6 </Spinner>
效果
2.用后台动态添加
布局:
1 <Spinner
2 android:id="@+id/spi"
3 android:layout_width="match_parent"
4 android:layout_height="wrap_content" >
5 </Spinner>
添加数据类

1 package com.example.myadapter;
2
3 import java.util.ArrayList;
4 import java.util.HashMap;
5 import java.util.List;
6 import java.util.Map;
7
8 import com.example.androidspinner.R;
9
10 public class Myadapter {
11
12 public Myadapter() {
13 // TODO Auto-generated constructor stub
14 }
15
16 public static List<String> getData(){
17 List<String> list=new ArrayList<String>();
18 list.add("北京");
19 list.add("武汉");
20 list.add("广州");
21 return list;
22 }
23
24 }

主程序中添加数据绑定

1 package com.example.androidspinner;
2
3 import java.util.List;
4 import java.util.Map;
5
6 import com.example.myadapter.Myadapter;
7
8 import android.os.Bundle;
9 import android.app.Activity;
10 import android.view.Menu;
11 import android.view.View;
12 import android.widget.AdapterView;
13 import android.widget.AdapterView.OnItemSelectedListener;
14 import android.widget.ArrayAdapter;
15 import android.widget.SimpleAdapter;
16 import android.widget.Spinner;
17
18 public class AndroidSpinnerActivity extends Activity {
19 private Spinner spi;
20
21 @Override
22 protected void onCreate(Bundle savedInstanceState) {
23 super.onCreate(savedInstanceState);
24 setContentView(R.layout.activity_android_spinner);
25 spi = (Spinner) this.findViewById(R.id.spi);
26 List<String> list = Myadapter.getData();
27 ArrayAdapter<String> adapter = new ArrayAdapter<String>(
28 AndroidSpinnerActivity.this,
29 android.R.layout.simple_spinner_item, list);
30 spi.setAdapter(adapter);
31
32 }
33
34
40 }
41
42 @Override
43 public boolean onCreateOptionsMenu(Menu menu) {
44 // Inflate the menu; this adds items to the action bar if it is present.
45 getMenuInflater().inflate(R.menu.activity_android_spinner, menu);
46 return true;
47 }
48
49 }

3.选项加图标
布局:
1 <Spinner
2 android:id="@+id/spi2"
3 android:layout_width="match_parent"
4 android:layout_height="wrap_content" >
5 </Spinner>
添加数据类

1 package com.example.myadapter;
2
3 import java.util.ArrayList;
4 import java.util.HashMap;
5 import java.util.List;
6 import java.util.Map;
7
8 import com.example.androidspinner.R;
9
10 public class Myadapter {
11
12 public Myadapter() {
13 // TODO Auto-generated constructor stub
14 }
15
16
17 public static List<Map<String, Object>> getMapData(){
18 List<Map<String, Object>> list=new ArrayList<Map<String,Object>>();
19 Map<String, Object> map1=new HashMap<String, Object>();
20 map1.put("logo", R.drawable.add);
21 map1.put("appname", "北京");
22 list.add(map1);
23
24 Map<String, Object> map2=new HashMap<String, Object>();
25 map2.put("logo", R.drawable.application);
26 map2.put("appname", "武汉");
27 list.add(map2);
28 return list;
29
30 }
31
32 }

主程序中添加数据绑定

1 package com.example.androidspinner;
2
3 import java.util.List;
4 import java.util.Map;
5
6 import com.example.myadapter.Myadapter;
7
8 import android.os.Bundle;
9 import android.app.Activity;
10 import android.view.Menu;
11 import android.view.View;
12 import android.widget.AdapterView;
13 import android.widget.AdapterView.OnItemSelectedListener;
14 import android.widget.ArrayAdapter;
15 import android.widget.SimpleAdapter;
16 import android.widget.Spinner;
17
18 public class AndroidSpinnerActivity extends Activity {
19 private Spinner spi2;
20
21 @Override
22 protected void onCreate(Bundle savedInstanceState) {
23 super.onCreate(savedInstanceState);
24 setContentView(R.layout.activity_android_spinner);
25
26 spi2 = (Spinner) this.findViewById(R.id.spi2);
27
28 List<Map<String, Object>> listMap = Myadapter.getMapData();
29
30 SimpleAdapter simpleAdapter = new SimpleAdapter(
31 AndroidSpinnerActivity.this, listMap, R.layout.items,
32 new String[] { "logo", "appname" }, new int[] { R.id.imgview,
33 R.id.labview });
34 spi2.setAdapter(simpleAdapter);
35
36 spi2.setOnItemSelectedListener(new OnItemSelectedListener() {
37
38 @Override
39 public void onItemSelected(AdapterView<?> parent, View arg1,
40 int position, long id) {
41 String appname=((Map<String,Object>)spi2.getItemAtPosition(position)).get("appname").toString();
42 setTitle(appname);
43 }
44
45 @Override
46 public void onNothingSelected(AdapterView<?> arg0) {
47 // TODO Auto-generated method stub
48
49 }
50 });
51 }
52
53 @Override
54 public boolean onCreateOptionsMenu(Menu menu) {
55 // Inflate the menu; this adds items to the action bar if it is present.
56 getMenuInflater().inflate(R.menu.activity_android_spinner, menu);
57 return true;
58 }
59
60 }

列表选择Spinner的更多相关文章
- Android 自学之列表选择框Spinner
列表选择框(Spinner)与Swing编程里面的Spinner不同,这里的Spinner其实就是一个列表选项框. Spinner是ViewGroup的间接子类,因此他也可作为容器使用. Spinne ...
- Android——列表选择框(Spinner)
通常情况下,如果列表选择框中要显示的列表项是可知的,那么可以将其保存在数组资源文件中,然后通过数组资源来为列表选择框指定列表项.这样就可以在不编写Java代码的情况下实现一个下拉选择框. 1.在布局文 ...
- Android Spinner列表选择框
Spinner Spinner是一个下拉列表,通常用于选择一系列可选择的列表项,它可以使用适配器,也可以直接设置数组源. 1.直接设置数组源 在res/values/strings.xml中设置数组源 ...
- Android开发系列(二十一):Spinner的功能和使用方法以及实现列表选择框
Spinner是一个列表选择框.相当于弹出一个菜单供用户进行选择. Spinner继承AdapterView Spinnet支持的XML的属性: android:entries:使用数组资源设置该下拉 ...
- Spinner列表选择框
Spinner首先它是一个弹出式的列表选择框,由于间接继承了ViewGroup,所以它可以当做一个容器使用; 如果我们可以明确下拉列表中的列表项, 则可以不需要编写代码, 只需要为spinner指定a ...
- 在DevExpress程序中使用GridView直接录入数据的时候,增加列表选择的功能
在我上篇随笔<在DevExpress程序中使用Winform分页控件直接录入数据并保存>中介绍了在GridView以及在其封装的分页控件上做数据的直接录入的处理,介绍情况下数据的保存和校验 ...
- Windows Phone 8.1 新特性 - 控件之列表选择控件
本篇我们来介绍Windows Phone 8.1 新特性中的列表选择控件. 在Windows Phone 8 时代,大家都会使用 LongListSelector 来实现列表选择控件,对数据进行分组显 ...
- iOS开发——UI篇&下拉弹出列表选择项效果
下拉弹出列表选择项效果 右边菜单中的按键,点击弹出一个列表可选择,选择其中一个,响应相应的事件并把文字显示在右边的菜单上:弹出下拉效果使用LMDropdownView插件,可以用POD进行加载pod ...
- Lodop在页面获取打印机列表 选择打印机预览
利用GET_PRINTER_COUNT,获取打印机个数,然后用GET_PRINTER_NAME(intPrinterIndex);循环获取打印机名称,添加到list列表里,可以让用户在页面就选择打印机 ...
随机推荐
- SpringBoot整合Kotlin构建Web服务
今天我们尝试Spring Boot整合Kotlin,并决定建立一个非常简单的Spring Boot微服务,使用Kotlin作为编程语言进行编码构建. 创建一个简单的Spring Boot应用程序.我会 ...
- 【XSY1841】Intervals
Description 在一个长度为m的序列中选出n个区间,这些区间互不包含,且至少有一个区间的左端点为x. 问有多少种方案,注意交换两个区间的顺序视为不同方案. 答案很大,输出模10000000 ...
- 20165218 《网络对抗技术》 Exp5 MSF基础应用
Exp5 MSF基础应用 实践内容 主动攻击:ms08_067 exploit/windows/smb/ms08_067_netapi generic/shell_reverse_tcp 针对浏览器攻 ...
- 如何在低速率网络中测试 Web 应用
大家看到标题后的第一个问题可能是:“我们需要这样做吗?” 如果我们开发的是局域网 Web 应用的话,可能没有必要这样做.但如果我们的 Web 应用面向的是互联网上的成千上万的用户,这样做就很必要了.因 ...
- Hbase(七)hbase高级编程
一.Hbase结合mapreduce 为什么需要用 mapreduce 去访问 hbase 的数据? ——加快分析速度和扩展分析能力 Mapreduce 访问 hbase 数据作分析一 ...
- D. Arpa and a list of numbers Codeforces Round #432 (Div. 2, based on IndiaHacks Final Round 2017)
http://codeforces.com/contest/851/problem/D 分区间操作 #include <cstdio> #include <cstdlib> # ...
- Linux发不出分片包的问题分析
今日有个网络攻击模拟需求,要打分片的ip包,程序写好了,在开发机上验证也没问题,然后部署到沙盒环境之后不行,就是发不出来数据包,而不分片的数据包能够正常发送,定位过程如下 1.对比了两台机器/proc ...
- config配置中心之自动刷新
自动刷新(自动刷新是基于springcloudbus来实现的,springcloud bus是基于rabbitMQ或者Kafka来实现的) Spring Cloud Bus 将分布式的节点用轻量的消息 ...
- weUI框架在github下载地址
1.公众号样式UI库的下载地址: https://github.com/Tencent/weui 2.微信小程序UI库的下载地址:https://github.com/Tencent/weui-wxs ...
- Django 2.0.1 官方文档翻译: 快速安装向导 (Page5)
快速安装向导 (Page 5) 在你使用 Django 前,你需要先安装它.我们有一个完整的安装向导,它包含所有涉及的内容,这个向导会指导你进行一个简单的.最小化的安装,当你通过浏览介绍内容的时候,这 ...