• 适配器 1、ArrayAdapter 2.SimpleAdapter


    1.ArrayAdapter(数组适配器):用于绑定格式单一的数据。数据源:可以是集合或数组

    public class MainActivity extends AppCompatActivity  {
        private ListView lv;
        private ArrayAdapter<String> arr_adapter;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            lv = (ListView)findViewById(R.id.listView);
            String[] array_data = {"礼拜一","礼拜二","礼拜三","礼拜四","礼拜五"};
    
            //1.新建一个适配器
            //Arraydapter(上下文,每一个加载列表项对应的布局文件,数据源,)
            //  2.适配器加载数据源
            arr_adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,array_data);  //安卓自带的布局文件 注意要先android.R.
            //3.视图Listview加载适配器
            lv.setAdapter(arr_adapter);
        }
    }
    

    2.SimpleAdapter(简单适配器):用于绑定格式复杂的数据。数据源:只能是特定泛指的集合。

    public class MainActivity extends AppCompatActivity  {
        private ListView lv;
        private SimpleAdapter sim_adapter;
        private List<Map<String,Object>> datalist;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            lv = (ListView)findViewById(R.id.listView);
            datalist = new ArrayList<Map<String,Object>>();
            //1.新建适配器
            //2.适配器加载数据源
            /*
            各个参数含义
            context:上下文
            data:数据源 (List<Map<String,object>>)多个Map所组成的List集合
                    每一个Map都对应ListView列表中的一行
                    每一个Map(键-值对)中的键必须包含所有在from中所指定的键
            resource:列表项的布局的文件ID
            from:   Map中的键名
            to:     绑定数据视图中的ID,与from成对应关系。
             */
             sim_adapter = new SimpleAdapter(this,getDATA(),R.layout.abc,new String[]{"first","second"},new int[]{R.id.pic,R.id.text});
            //3.视图加载适配器
    
            lv.setAdapter(sim_adapter);
        }
    
        private List<Map<String,Object>> getDATA(){
            for(int i = 0; i< 20 ; i++){
                Map<String , Object> map = new HashMap<String,Object>();
                map.put("first",R.drawable.abc);
                map.put("second","礼拜"+i);
                datalist.add(map);
            }
    
            return datalist;
        }
    }
    

      

  • 相关阅读:
    一个基于Angular+Ionic+Phonegap的混合APP实战
    Kafka
    kafka
    Kafka
    归并排序
    插入排序
    CC1310的晶振问题
    CC1310的RSSI值问题
    CC1310之使用SMARTRF STUDIO
    CC1310电源
  • 原文地址:https://www.cnblogs.com/zmaibbs7/p/4827101.html
Copyright © 2020-2023  润新知