package com.example.steven.listviewtest;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.Map;import java.util.HashMap;import java.util.List;public class MainActivity extends AppCompatActivity { ? ?private ListView listView; ? ?private ArrayAdapter<String> arr_adapter; ? ?private SimpleAdapter simp_adapter; ? ?private List<Map<String,Object>> dataList; ? ?@Override ? ?protected void onCreate(Bundle savedInstanceState) { ? ? ? ?super.onCreate(savedInstanceState); ? ? ? ?setContentView(R.layout.main); ? ? ?listView =(ListView) findViewById(R.id.list_View );// ? ?1新建一個數據適配器.// ? ?ArrayAdapter(上下文,當前listView加載每一個列表項所對應的布局文件).// ? ?2適配器加載數據源.(最為關鍵的一步).// ? ? ? ?String[] arr_data = {"慕課網1","慕課網2","慕課網3","慕課網4"}; ? ? ? ?dataList = new ArrayList<Map<String, Object>>();// ? ? ? ?arr_adapter = new ArrayAdapter<String>(this,android.R.layout.simple_expandable_list_item_1,arr_data);// ? ?3視圖(Listview)加載適配器. ? ? ? ?//listView.setAdapter(arr_adapter); ? ? ? ?private ?List<Map<String,Object>> getData() ? ? ? ?{ ? ? ? ? ? ?for (int i=0;i<20;i++) ? ? ? ? ? ?{ ? ? ? ? ? ? ? ?Map<String,Object>map=new HashMap<>(); ? ? ? ? ? ? ? ?map.put("pic",R.mipmap.ic_launcher); ? ? ? ? ? ? ? ?map.put("text","慕課網"+i); ? ? ? ? ? ? ? ?dataList.add(map); ? ? ? ? ? ?} ? ? ? ? ? ?return ?dataList; ? ? ? ?} ? ? ? ?private String getString(){ ? ? ? ? ? ?return null; ? ? ? ?} ? ? ? simp_adapter = new SimpleAdapter(this,getData(),R.layout.item,new String[]{"pic","text"},new int[] {R.id.pic,R.id.text}); ? ? ? ?listView.setAdapter(simp_adapter);// ? ?4使用simpleadapter適配器. ? ? ? ?/* ? ? ? ? *context:上下文。 ? ? ? ? * data:數據源(List<? extends Map<String ,? >>data )一個Map所組成的List集合. ? ? ? ? * ?每一個Map都會對應Listview列表中的一行. ? ? ? ? * ?每一個Map(鍵-值對)中的鍵必須包含所在from中所指定的鍵. ? ? ? ? * ?resource: 列表項的布局文件ID ? ? ? ? * ?from:Map中的鍵名. ? ? ? ? * ?to:綁定數據視圖中的ID,于form形成對應關系. ? ? ? ? */ ? ?}}
添加回答
舉報
0/150
提交
取消