配适器有两种
1:ArrayAdapter
2:SimpleAdapter
第一种比较简单 第二种对我来说比价难 所以有了注释哈哈 我还是没有写注释的好习惯呀~~~
直接贴代码好了
package com.example.admin.test_0307_2; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.SimpleAdapter; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class MainActivity extends AppCompatActivity { private ListView listView; private ArrayAdapter arr_Adapter; private SimpleAdapter sim_adapter; private List<Map<String,Object>> datalist; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);
<span style="background-color: rgb(204, 204, 255);">//这里吧data定义w位一个包含Map的数组 用ArrayList装;</span> datalist=new ArrayList<Map<String,Object>>(); listView= (ListView) findViewById(R.id.listView); <span style="color:#6666cc;"> </span>
<span style="background-color: rgb(204, 204, 255);"> /* SimpleAdapter()的五个参数: 1 上下文; 2 数据也就是datalist; 这里的包含的是Map<String,Object> 3 来源 也就是我们建立的item; 4 所以这里就是 datalist中 Map<>对应的String 5 同上 这里对应的 是Object 通过查找id来获得 <span style="font-family: Arial, Helvetica, sans-serif;">*/</span></span>
sim_adapter=new SimpleAdapter(this,getdata(),R.layout.item, new String[]{"pic","text"},new int[]{R.id.imageView,R.id.textView}); listView.setAdapter(sim_adapter); } <span style="background-color: rgb(204, 204, 255);">/* 获得datalist的方法 1建立一个Map 定义Map<String,Object> map =new HashMap<String,Object>()!!!这里别忘记(); 2向其中添加 对应的String 和对应的value 3然后把一个个map添加进datalist 4返回需要的类型对应的datalist */</span> private List<Map<String,Object>> getdata() { for(int i=0;i<10;i++){ Map<String,Object> map =new HashMap<String,Object>(); map.put("pic",R.drawable.lufei2); map.put("text",i+"个路飞看着你"+i+i+i); datalist.add(map); } return datalist; } }
xml
很简单一个ImageView还有一个TextView