美文网首页
Android 使用ListView显示一系列数据

Android 使用ListView显示一系列数据

作者: CrazyBoomer | 来源:发表于2017-02-24 19:28 被阅读0次

一.在xml文件中放置ListView

    <ListView
        android:id="@+id/listView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >
    </ListView>

二.在Activity中初始化ListView

public class MainActivity extends Activity {
    private ListView lv;
    private ArrayAdapter<String>arr_adapte;
    private SimpleAdapter sim_Adapter;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        lv= (ListView) findViewById(R.id.listView1);
        }
}  

三.设置ArrayAdapter适配器

public class MainActivity extends Activity {
    private ListView lv;
    private ArrayAdapter<String>arr_adapte;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        lv= (ListView) findViewById(R.id.listView1);
        String[]arr_data= {"data1","data2","data3"};
        arr_adapte = new ArrayAdapter<>(this, 
            android.R.layout.simple_list_item_1 , arr_data);
    }
}

代码理解

arr_adapte = new ArrayAdapter<>(this,
android.R.layout.simple_list_item_1 , arr_data);

ArrayAdapter的初始化方法,三个参数分别代表:适配器的上下文(常用this),适配器显示每一个列表项的布局文件,数据源

四.为ListView设置适配器

lv.setAdapter(arr_adapte);

五.设置SimpleAdapter适配器

private SimpleAdapter sim_Adapter;
sim_Adapter= new SimpleAdapter(context, data, resource,from  ,to);

代码理解

context:上下文
data:数据源——List<entends Map<String, ?>>data——一个Map所组成的List集合,每一个Map对应ListView列表中的一行,每一个Map(键-值)中的键必须包含所有在from中指定的键
resource:列表项的布局文件ID
from:Map中的键名
to:绑定数据视图中的ID,与from成对应关系

六.布局文件编写,并将resource改为该布局文件R.layout.item,将to改为new int[] {R.id.pic,R.id.text}
新建xml文件

    <ImageView 
        android:id="@+id/pic"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_launcher"/>
    <TextView android:id="@+id/text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="20sp"
        android:textColor="#000000"
        android:text="demo"/>

七.将from改为new String[] {"pic","text"}

八.建立数据源
1.初始化数据源

    private List<Map<String,Object>> dataList;
      dataList= new ArrayList<Map<String, Object>>();
    private List<Map<String,Object>> getData()
    {
        for(int i =0;i<20;i++){
            Map<String,Object>map= new HashMap<String,Object>();
            map.put("pic", R.drawable.ic_launcher);
            map.put("text", "text"+i);
            dataList.add(map);
        }
        return dataList;
    }

2.将data改为getData()

九.绑定适配器鱼sim_adapter

lv.setAdapter(sim_Adapter);

相关文章

网友评论

      本文标题:Android 使用ListView显示一系列数据

      本文链接:https://www.haomeiwen.com/subject/qltwwttx.html