BaseAdapter是一种使用频率较高的适配器,因为它可以通过自定义最大程度扩展满足各种情景下的使用。我们不仅需要知道适配器的使用,进一步我们也需要了解适配器的原理。

问题是最好的学习方式,下面主要讨论这么几个问题:

Q1.ListView中每个Item的创建

Q2.ListView中Item的复用

Q3.ListView中屏幕显示的Item与复用生成Item之间的关系

  首先写一个简单的demo.

 1 package com.aellenlei.baseadapterdemo;
 2 
 3 import android.support.v7.app.AppCompatActivity;
 4 import android.os.Bundle;
 5 import android.widget.ListView;
 6 
 7 import java.util.ArrayList;
 8 import java.util.List;
 9 
10 public class MainActivity extends AppCompatActivity {
11 
12     @Override
13     protected void onCreate(Bundle savedInstanceState) {
14         super.onCreate(savedInstanceState);
15         setContentView(R.layout.activity_main);
16 
17         //1.findViewById
18         ListView listView = (ListView) findViewById(R.id.listView);
19 
20         //2.初始化数据源
21         List<ItemBean> list = new ArrayList<>();
22         for (int i = 0; i < 5; i++) {
23             ItemBean itemBean = new ItemBean();
24             itemBean.postion = i;
25             itemBean.title = "title " + i;
26             itemBean.content = "content " + i;
27             list.add(itemBean);
28         }
29 
30         //3.初始化适配器
31         ItemBeanAdapter itemBeanAdapter = new ItemBeanAdapter(list, getApplicationContext());
32 
33         //4.ListView绑定适配器
34         listView.setAdapter(itemBeanAdapter);
35     }
36 }
MainActivity.java

相关文章: