zoukankan      html  css  js  c++  java
  • 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);

  • 相关阅读:
    BZOJ 2219 数论之神 (CRT推论+BSGS+原根指标)
    BZOJ 2618: [Cqoi2006]凸多边形 (半平面交)
    BZOJ 1038: [ZJOI2008]瞭望塔
    BZOJ 1007: [HNOI2008]水平可见直线 (半平面交)
    BZOJ 1845: [Cqoi2005] 三角形面积并 (辛普森积分)
    BZOJ 2458: [BeiJing2011]最小三角形 (分治)
    BZOJ 3210: 花神的浇花集会 (切比雪夫距离)
    BZOJ 2013 : [Ceoi2010]A huge tower / Luogu SP6950 CTOI10D3
    BZOJ 3630: [JLOI2014]镜面通道 (网络流 +计算几何)
    bzoj 2820 YY的GCD
  • 原文地址:https://www.cnblogs.com/kingsam/p/5772162.html
Copyright © 2011-2022 走看看