亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

求大神看看,為什么只出了一行數據?

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;

}

}


正在回答

3 回答

注意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;
?? ?}

}

0 回復 有任何疑惑可以回復我~

我以為只要把數據放進去就行了,應該怎么遍歷呢

0 回復 有任何疑惑可以回復我~

你是怎么遍歷的?

【溫馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等編程愛好者關注我,加我慕課好友,互相學習,共同進步!】

1 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Android攻城獅的第二門課(第1季)
  • 參與學習       111145    人
  • 解答問題       1560    個

本課程由淺入深地帶您學會Android的常用控件的開發和使用

進入課程

求大神看看,為什么只出了一行數據?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號