求大神看看,為什么只出了一行數據?
public class SimpleAdapterActivity extends Activity {
private SimpleAdapter sim_adapter;
private List<Map<String,Object>>datalist;
private ListView lv;?
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_listview);
lv=(ListView) findViewById(R.id.lv1);
//新建一個map鍵值對數據集合
datalist=new ArrayList<Map<String,Object>>();
//新建一個適配器 ?適配器加載數據源?
sim_adapter=new SimpleAdapter(this, getData(), R.layout.simple, new String[]{"img1","tv1"} ,new int[]{R.id.img1,R.id.tv1});
//視圖加載適配器
lv.setAdapter(sim_adapter);
}
//數據源
private List<Map<String,Object>> getData(){
Map<String,Object> map=new HashMap<String, Object>();//創建一個鍵值對對象
map.put("img1", R.drawable.img1);//添加鍵-值對
map.put("tv1", "可愛蘿莉");
map.put("img2", R.drawable.img2);
map.put("tv2", "功夫兔");
map.put("img3", R.drawable.img3);
map.put("tv3", "小狐貍");
map.put("img4", R.drawable.img4);
map.put("tv4", "元氣少女");
datalist.add(map);
return datalist;
}
}
2016-09-06
注意ArrayList<Map<String,Object>>(),里面的數據是應該是不同的map,你這個只是一個map
new String[]{"img1","tv1"}里是根據鍵名取出對應的值,正確的做法應該是遍歷生成多個map:
public class SimpleAdapterActivity extends Activity {
?? ?private SimpleAdapter sim_adapter;
?? ?private List<Map<String, Object>> datalist;
?? ?private ListView lv;
?? ?@Override
?? ?protected void onCreate(Bundle savedInstanceState) {
?? ??? ?super.onCreate(savedInstanceState);
?? ??? ?setContentView(R.layout.activity_main);
?? ??? ?lv = (ListView) findViewById(R.id.lv1);
?? ??? ?// 新建一個map鍵值對數據集合
?? ??? ?datalist = new ArrayList<Map<String, Object>>();
?? ??? ?// 新建一個適配器 適配器加載數據源
?? ??? ?sim_adapter = new SimpleAdapter(this, getData(), R.layout.simple,
?? ??? ??? ??? ?new String[] { "img", "tv" },
?? ??? ??? ??? ?new int[] { R.id.img1, R.id.tv1 });
?? ??? ?// 視圖加載適配器
?? ??? ?lv.setAdapter(sim_adapter);
?? ?}
?? ?// 數據源
?? ?private List<Map<String, Object>> getData() {
?? ??? ?int[] pic = { R.drawable.img1, R.drawable.img2, R.drawable.img3,
?? ??? ??? ??? ?R.drawable.img4 };
?? ??? ?String[] st = { "可愛蘿莉", "功夫兔", "小狐貍", "元氣少女" };
?? ??? ?Map<String, Object> map = null;
?? ??? ?for (int i = 0; i < 4; i++) {
?? ??? ??? ?map = new HashMap<String, Object>();// 創建一個鍵值對對象
?? ??? ??? ?map.put("img", pic[i]);// 添加鍵-值對
?? ??? ??? ?map.put("tv", st[i]);
?? ??? ??? ?datalist.add(map);
?? ??? ?}
?? ??? ?return datalist;
?? ?}
}
2016-09-05
我以為只要把數據放進去就行了,應該怎么遍歷呢
2016-09-05
你是怎么遍歷的?
【溫馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等編程愛好者關注我,加我慕課好友,互相學習,共同進步!】