zoukankan      html  css  js  c++  java
  • Android中简单实现Spinner的数据绑定

         Spinner在android中通常用来实现下拉列表,但可惜的是Spinner没有直接实现类似text-value这样的自动绑定功能。某些情况下,列表展示的文本并不是我们想要取得的值,这样就需要手动实现数据绑定。首先用2个数组来分别表示显示的文本和要取的值,代码如下:

        private final static String[] texts = {"张三", "李四", "王五"};
        private final static int[] values = {1, 2, 3};
        private Spinner spinner;  
        private ArrayAdapter<String> adapter;

      这里texts是下拉列表中显示的文本,values是根据列表选定后指定的值。接着就是实现Spinner了,代码如下:

            spinner = (Spinner)findViewById(R.id.spinner);  
            //绑定要显示的texts 
            adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, texts);            
            //设置下拉列表的风格         
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner.setAdapter(adapter); spinner.setOnItemSelectedListener(new SpinnerSelectedListener()); spinner.setVisibility(View.VISIBLE); class SpinnerSelectedListener implements OnItemSelectedListener{ public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) { //利用数组中的对应位置取得values中需要的值 int Id = values[arg2]; } } }

        另外,也可以用spinner.getSelectedItem().toString()来取得选定的文本,或者用spinner.getSelectedItemPosition()来取得选定文本的位置,从而可以用values[spinner.getSelectedItemPosition()]来取得对应的值。

        如果你的列表数据是动态获得的。可以使用ArrayList代替数组来动态添加。

  • 相关阅读:
    Javascript判断多选框checkbox和单选钮是否选中
    怎么样察看经过编译过的代码exe或者dll文件
    人才的识与用
    Asp.net中把DataTable或DataGrid导出为Excel
    ASP.NET 2.0 绑定高级技巧
    c#文件操作(二)
    ASP.NET 2.0 正式版中callback的一些变化+使用示例
    用人之道
    我常用的js
    NUnit2.0详细使用方法
  • 原文地址:https://www.cnblogs.com/SSforME/p/3101711.html
Copyright © 2011-2022 走看看