列表选择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列表里,可以让用户在页面就选择打印机 ...
随机推荐
- 【IOI 2018】Combo 组合动作(模拟,小技巧)
题目链接 IOI的签到题感觉比NOI的签到题要简单啊,至少NOI同步赛我没有签到成功…… 其实这个题还是挺妙妙的,如果能够从题目出发,利用好限制,应该是可以想到的做法的. 接下来开始讲解具体的做法: ...
- linux中的分段和分页
http://blog.csdn.net/hguisu/article/details/6152921 Linux 内存管理 觉得这篇文章写分段和分页机制还是挺清晰的,在此转载一下. 前一段时间看了& ...
- Map / HashMap 获取Key值的方法
方法1:keySet()HashMap hashmp = ne HashMap();hashmp.put("aa", "111");Set set = hash ...
- Chapter12(动态内存)--C++Prime笔记
1.分配再静态或栈内存中的对象由编译器自动创建销毁. 2.C++中动态内存的管理是通过 new:前者为对象非配空间并返回一个指向该对象的指针. delete:接受一个动态对象的指针,摧毁该对象,并释放 ...
- linux join命令
http://note.youdao.com/noteshare?id=151c4844cac74e9b08c5dc954a1a4967
- 五、java面向对象编程_3
目录 十五.Object类 1.toString 2.equals 十六.对象转型(casting) 十七.动态绑定(多态) 十八.抽象类(abstract) 十九.final关键字 二十.接口 十五 ...
- Java入门:Java IO概括
I/O 问题是任何编程语言都无法回避的问题,可以说 I/O 问题是整个人机交互的核心问题,因为 I/O 是机器获取和交换信息的主要渠道.在当今这个数据大爆炸时代,I/O 问题尤其突出,很容易成为一个性 ...
- spring 和 spring boot 的区别
最近越来越多的开发者都开始选择 spring-boot,与传统的 spring 相比,spring-boot又有哪些优势呢? 1.追求开箱即用的效果,只需要很少的配置就可以直接开始运行项目. 例如各种 ...
- Matlab修改背景颜色
步骤: 1, 在matlab命令行中运行prefdir, 获取matlab.prf文件所在路径 2, 打开matlab.prf所在路径, 找到matlab.prf文件, 作备份 3, 将以下内容添加到 ...
- js-验证码插件gVerify.js
插件 gVerify.js 源码 !(function(window, document) { function GVerify(options) { //创建一个图形验证码对象,接收options对 ...