列表选择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列表里,可以让用户在页面就选择打印机 ...
随机推荐
- [洛谷P4091][HEOI2016/TJOI2016]求和
题目大意:给你$n(n\leqslant10^5)$,求:$$\sum\limits_{i=0}^n\sum\limits_{j=0}^i\begin{Bmatrix}i\\j\end{Bmatrix ...
- 阿里大鱼短信发送,放到项目中报错Java.lang.NoClassDefFoundError:com/aliyuncs/exceptions/ClientException,已解决
由于项目中使用的短信服务发送的消息太慢,所以把采用了阿里大鱼的短信服务,花费了几个小时,通过审核,发现可以单独运行.但是,放到web项目中会报错(Java.lang.NoClassDefFoundEr ...
- UOJ #7 【NOI2014】 购票
题目链接:购票 这道题我调了好久啊……主要还是因为这种用\(CDQ\)分治来搞斜率优化的题已经很久没写过了……上一次要追溯到去年暑假去了…… 看下面这些东西之前你需要先自己推出斜率优化的式子…… 这道 ...
- phpredis用法笔记
项目中用到redis集群, 发现phpredis对集群,分布式是有支持的.翻译下相关资料备用. redis扩展地址:https://github.com/phpredis/phpredis, 看到如下 ...
- python之旅:并发编程之多进程理论部分
一 什么是进程 进程:正在进行的一个过程或者说一个任务.而负责执行任务则是cpu. 举例(单核+多道,实现多个进程的并发执行): egon在一个时间段内有很多任务要做:python备课的任务,写书的任 ...
- BUG1 解决java compiler level does not match the version of the installed java project facet
因工作的关系,Eclipse开发的Java项目拷来拷去,有时候会报一个很奇怪的错误.明明源码一模一样,为什么项目复制到另一台机器上,就会报“java compiler level does not m ...
- servlet拦截器
servlet拦截未登录的用户请求 java代码: package com.gavin.filter; import java.io.IOException; import javax.servlet ...
- Maven学习一:使用Myeclipse创建Maven项目
使用Myeclipse2014创建Maven项目有如下几种方式: 1.创建Maven Java项目 1.1 选择新建Maven项目 1.2.选择创建简单项目 1.3.填写项目信息 1.4.创建成功后项 ...
- Kafka 0.8 Producer处理逻辑
Kafka Producer产生数据发送给Kafka Server,具体的分发逻辑及负载均衡逻辑,全部由producer维护. 1.Kafka Producer默认调用逻辑 1.1 默认Partiti ...
- Python之路,Day2 - Python基础,列表,循环
1.列表练习name0 = 'wuchao'name1 = 'jinxin'name2 = 'xiaohu'name3 = 'sanpang'name4 = 'ligang' names = &quo ...