在Android中,用string-array是一种简单的提取XML资源文件数据的方法。

例:

把相应的数据放到values/arrays.xml文件里

<?xml
version="1.0" encoding="utf-8"?>
<resources>
<string-array name="shanghai_area">
<item>长宁区</item>
<item>奉贤区</item>
<item>徐汇区</item>
<item>虹口区</item>
</string-array>
</resources>

  

然后在Activity里,直接使用相应的接口获取数据即可。示意代码如下:

String[] str = getResources().getStringArray(R.array.shanghai_area);

即可取得string-array name="shanghai_area"下的所有item数据。

 spinner = (Spinner) getView().findViewById(R.id.spinner);
final String[] data_list = getResources().getStringArray(R.array.home_place_array);
arr_adapter = new ArrayAdapter<String>(getContext(), android.R.layout.simple_spinner_item,
data_list);
//设置样式
arr_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
//加载适配器
spinner.setAdapter(arr_adapter);
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
String item = data_list[position];
Toast.makeText(getActivity(),item,Toast.LENGTH_LONG).show();
} @Override
public void onNothingSelected(AdapterView<?> parent) { }
});

spinner默认选中第一个的操作并不是马上执行的,而是一段时候后再执行,并触发OnItemSelectedListener事件;

spinner.setSelection(2,true);

2、图片资源的数组形式

<?xml version="1.0" encoding="utf-8"?>
<resources>
<array name="icons">
<item>@drawable/home</item>
<item>@drawable/settings</item>
<item>@drawable/logout</item>
</array>
<array name="colors">
<item>#FFFF0000</item>
<item>#FF00FF00</item>
<item>#FF0000FF</item>
</array>
</resources>

TypedArray icons =  getResources().obtainTypedArray(R.array.icons);

Drawable drawable = icons.getDrawable(0);

或者:resid = icons.getResourceId(i,0);//参数含义,第一个参数为 :所取图片在数组中的索引,第二个参数为:未找到时,返回的默认值。

TypedArray colors = res.obtainTypedArray(R.array.colors);

int color = colors.getColor(0,0);

spinner与arrays.xml的使用的更多相关文章

  1. arrays.xml文件中添加drawable数组的问题

    一.问题描述 今天遇到一个需求,将java中的数组搬进arrays.xml文件中 R.drawable.menu_share_pic_item, R.drawable.menu_share_wecha ...

  2. Android中通过代码获取arrays.xml文件中的数据

    android工程res/valuse文件夹下的arrays.xml文件中用于放各种数组数据,比如字符串数组.整型数组等,数组中的数据可能是具体的值,也有可能是对资源数据的引用,下面针对这两种情况通过 ...

  3. arrays.xml中使用integer-array引用drawable图片资源,代码中如何将这些图片资源赋值到ImageView控件中

    当我们在arrays.xml文件中声明一些图片资源数组的时候: <?xml version="1.0" encoding="utf-8"?> < ...

  4. Android 如何保存资源 Id 数组在 res/values/arrays.xml 里

    <resources> <!-- Tracks Information --> <array name="music_ids"> <ite ...

  5. Android中自定义xml文件给Spinner下拉框赋值并获取下拉选中的值

    场景 实现效果如下 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 将布局改 ...

  6. Android——spinner控件实现读取xml资源,省、市两级互动

    (1)首先在res文件夹下面的values中创建一个省市arrays.xml文件夹,如下 <?xml version="1.0" encoding="utf-8&q ...

  7. andriod Spinner

    <?xml version="1.0" encoding="UTF-8"?> <LinearLayout android:orientatio ...

  8. android学习笔记六——Spinner

    注:参考http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0105/2264.html Spinner ==> Spinner ...

  9. Android——列表选择框(Spinner)

    通常情况下,如果列表选择框中要显示的列表项是可知的,那么可以将其保存在数组资源文件中,然后通过数组资源来为列表选择框指定列表项.这样就可以在不编写Java代码的情况下实现一个下拉选择框. 1.在布局文 ...

随机推荐

  1. dispay属性的block,inline,inline-block

    转自下面的几位大神: http://www.cnblogs.com/KeithWang/p/3139517.html 总体概念 block和inline这两个概念是简略的说法,完整确切的说应该是 bl ...

  2. Hibernate day01笔记

    框架体系结构   hibernate入门 ORM框架 Hibernate是一个数据持久化层的ORM框架. Object:对象,java对象,此处特指JavaBean Relational:关系,二维表 ...

  3. Jvm支持的最大线程数

    摘自 http://blog.csdn.net/xyls12345/article/details/26482387 JVM最大线程数 (2012-07-04 23:20:15) 转载▼ 标签: jv ...

  4. 多媒体(4):JPEG图像压缩编码

    (重要的事放前面)此JPEG的C++实现见 https://github.com/chencjGene/SoftEngineering/tree/master/JPEG 目录 多媒体(1):MCI接口 ...

  5. Winform数据导出Execl小工具

    前台界面.cs文件 using System; using System.Collections.Generic; using System.ComponentModel; using System. ...

  6. mysql——第一次学习记的笔记

  7. JavaWEB域对象

    PageContext: ServletRequest: HttpSession: ServletContext: void setAttribute(String name, Object valu ...

  8. Jsoncpp的使用

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 易于人阅读和编写.同时也易于机器解析和生成. 它基于JavaScript Programming Lan ...

  9. UART UVM验证平台平台搭建总结

    tb_top是整个UVM验证平台的最顶层:tb_top中例化dut,提供时钟和复位信号,定义接口以及设置driver和monitor的virual interface,在intial中调用run_te ...

  10. nginx rewirte

    server { listen 8888; server_name jobPhp; root F:\ck\Porject\quanRelease\quanJob; try_files $uri $ur ...