在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. 第一波实习的前端笔记(2)——js.md

    1.如何解决移动端点透问题? $('xx').on('touchend', function(event){ event.preventDefault(); }) 但是,存在滑动页面会触发问题.期待更 ...

  2. curl 发送get post请求

    function getAction($url=''){ // curl 请求一共分四步,初始化,设置属性,执行并获取结果,释放句柄 // 一.初始化 $curl = curl_init(); // ...

  3. Python之路【第十六篇】:Django【基础篇】

    Python之路[第十六篇]:Django[基础篇]   Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了O ...

  4. js按Enter键提交表单

    function exprint(e){ /* var keycode = event.keyCode; if (keycode == "13"){ fm.UserCode.foc ...

  5. TJI读书笔记07-初始化

    TJI读书笔记07-初始化 成员初始化 构造方法初始化 初始化块 初始化的顺序 成员初始化 java尽量去保证每个变量在使用前都会得到初始化. 对于方法局部变量,java不会自动初始化他们,如果没有显 ...

  6. 第一零四天上课 PHP TP框架下的文件上传

    控制器代码(TestController.class.php) <?php namespace Home\Controller; use Home\Controller\EmptyControl ...

  7. Shared pool

    Shared pool 一.Shared pool的引入 当你发出一条sql语句交付Oracle,在执行和获取结果前,Oracle对此sql将进行几个步骤的处理过程: 1.语法检查(syntax ch ...

  8. mac 安装Homebrew

    ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

  9. 随笔—邀请赛前训— Codeforces Round #330 (Div. 2) B题

    题意: 这道英文题的题意稍稍有点复杂. 找长度为n的数字序列有多少种.这个序列可以分为n/k段,每段k个数字.k个数可以变成一个十进制的数Xi.要求对这每n/k个数,剔除Xi可被ai整除的情况,剔除X ...

  10. 使用Jquery解析xml的两种方法

    第一种方案(最稳妥): 先将String格式的xml转换为xml对象,然后再用Jquery解析xml对象 var returnDataXml = parseXML(returnData); var p ...