• spinner与arrays.xml的使用


    在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数据。

     1 spinner = (Spinner) getView().findViewById(R.id.spinner);
     2 final String[] data_list = getResources().getStringArray(R.array.home_place_array);
     3 arr_adapter = new ArrayAdapter<String>(getContext(), android.R.layout.simple_spinner_item,
     4         data_list);
     5 //设置样式
     6 arr_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
     7 //加载适配器
     8 spinner.setAdapter(arr_adapter);
     9 spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
    10     @Override
    11     public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
    12         String item = data_list[position];
    13         Toast.makeText(getActivity(),item,Toast.LENGTH_LONG).show();
    14     }
    15 
    16     @Override
    17     public void onNothingSelected(AdapterView<?> parent) {
    18 
    19     }
    20 });

     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);

  • 相关阅读:
    [翻译]9个最好的富文本编辑器概览
    使用 AForm 快速开发高度复用的表单
    sql server和oracle行转列的一种典型方法
    hibernate4 分页报只进结果集不支持请求的操作的解决办法
    android主流UI布局
    Android 4.0源码放出
    The SQL Server Service Broker for the current database is not enabled
    iphone网络编程 http请求 get / post(发送二进制文件) 总结
    VS2008编译命令
    如何使用SOCKET 发送HTTP1.1 GET POST请求包
  • 原文地址:https://www.cnblogs.com/kingsam/p/5772162.html
Copyright © 2020-2023  润新知