慕课网自学 关于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


加油吧少年~慕课网自学 关于ListView 的配适器_第1张图片

你可能感兴趣的:(android)