在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. python中subprocess.Popen.poll

    import subprocess proc = subprocess.Popen(['python', 'test.py'], stdout=subprocess.PIPE) while 1: pr ...

  2. MC的一些具体的应用的例子的总结

    任何东西,都有其适用的场景,在合适的场景下,才能发挥好更大的作用. 对于memcached,使用内存来存取数据,一般情况下,速度比直接从数据库和文件系统读取要快的多. memcached的最常用的场景 ...

  3. MC的缓存雪崩现象和缓存无底洞的原因以及导致的后果的总结

    缓存雪崩一般是由某个缓存节点失效,导致其他节点的缓存命中率下降,缓存中确实的数据去数据库查询,短时间内,造成数据库服务器的崩溃. 这时,我们需要重启数据库,但重启一段时间后,又会被压垮,但此时缓存的数 ...

  4. svn 命令行创建和删除 分支和tags

    创建分支 svn cp -m "create branch" http://svn_server/xxx_repository/trunk http://svn_server/xx ...

  5. SQL Server 2008中删除errorlog文件的方法

    删除error咯个文件[SSQL\MSSQL10.MSSQLSERVER\MSSQL\Log目录下面] 由于默认情况下,SQL Server 保存 7 个 ErrorLog 文件,名为: ErrorL ...

  6. HTML基础第二天知识点整合

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xht ...

  7. shell和bat 监控进程,自动关机

    1.linux 下监控进程,进程结束后关机 新建文件 monit.sh $chmod +x monit.sh 加入代码 #!/bin/sh a=; ]; do |;then echo "sh ...

  8. easyUI删除行的操作

    columns: [[ { field: 'KeyContent', title: '关键词' }, { field: 'ProductType', title: "用品/配件", ...

  9. nginx 设置反响代理实现nginx集群

    ginx.conf: worker_processes  1; events { worker_connections  1024; } http { include       mime.types ...

  10. navicat for mysql

    下载地址:https://www.navicat.com/cht/download 详情:http://baike.baidu.com/link?url=zo3CUg3HC5XUHkz4YqXO6Em ...