慕課網自學 關於ListView 的配適器

配適器有兩種

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


加油吧少年~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章