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 }

最新文章

  1. Spark作业调度阶段分析
  2. 基于ReactCSSTransitionGroup实现react-router过渡动画
  3. 为什么OGNL表达式功能强大?
  4. [C++] C\C++ printf 输出格式
  5. Qt 添加资源文件
  6. HDU 4974 Dracula and Ethan 优先队列
  7. LeetCode292:Nim Game
  8. Bzoj 3236: [Ahoi2013]作业 莫队,分块
  9. 关于背景透明,文字不透明的最佳方法,兼容IE
  10. ExternalInterface的简单使用方法
  11. 自定义ModelValidatorProvider
  12. great C++ socket library
  13. sqlserver 操作数据表语句模板
  14. java核心技术笔记
  15. python——描述符
  16. ES查询之刨根问底
  17. 胖子哥的大数据之路(10)- 基于Hive构建数据仓库实例
  18. CentOS 6.x 默认源中带了mysql-server,可以使用yum安装。
  19. AngularJS学习笔记(一)走近AngularJS
  20. 【SPL标准库专题(9)】 Datastructures:SplObjectStorage

热门文章

  1. 浅谈 PHP Yaf 开启session之后对响应头的影响
  2. CF321E Ciel and Gondolas 【决策单调性dp】
  3. spark 调优——基础篇
  4. Miller-Robin与二次探测
  5. 【DSU on tree】【CF741D】Arpa’s letter-marked tree and Mehrdad’s Dokhtar-kosh paths
  6. centos install python3 pip3
  7. bzoj 刷题计划~_~
  8. 四、java面向对象编程_2
  9. 二、Linux学习之centOS的的setup
  10. 用Anaconda安装本地python包