使用自定义的Adapter来设置ListView的内容

这里主要是学习的Adapter的机制

MainActivity.java

 1 package com.kale.listview;
 2 
 3 import android.app.Activity;
 4 import android.os.Bundle;
 5 import android.widget.ListView;
 6 
 7 
 8 public class MainActivity extends Activity {
 9     
10     ListView myLv;
11     
12     @Override
13     protected void onCreate(Bundle savedInstanceState) {
14         super.onCreate(savedInstanceState);
15         setContentView(R.layout.activity_main);
16         
17         MyAdapter adapter = new MyAdapter(this);
18         
19         myLv = (ListView)findViewById(R.id.red_listView_id);
20         myLv.setAdapter(adapter);
21         
22     }
23 }

MyAdapter.java

package com.kale.listview;

import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.LinearLayout;

public class MyAdapter extends BaseAdapter{

    Context context;
    
    public MyAdapter(Context context) {
        // TODO 自动生成的构造函数存根
        this.context = context;
    }
    
    //返回Adapter包含多少个item
    @Override
    public int getCount() {
        // TODO 自动生成的方法存根
        //设置总共有多少个元素
        return 10;
    }

    //通过位置来得到对象
    @Override
    public Object getItem(int position) {
        // TODO 自动生成的方法存根
        return null;
    }

    //根据位置来得到相应item的Id
    @Override
    public long getItemId(int position) {
        // 设置返回值为列表项的ID
        return position;
    }
    
    //listView中每个item的view,就是用getView来产生的view。显示一个item,调用一个getView
    @Override
    public View getView(int position, View contertView, ViewGroup parent) {
        
        LinearLayout view = new LinearLayout(context);
        view.setOrientation(0);
        ImageView imageView = new ImageView(context);
        imageView.setImageResource(R.drawable.kale);
        view.addView(imageView);

        return view;
    }

    
}
原文地址:https://www.cnblogs.com/tianzhijiexian/p/3851640.html