- ArrayAdapter
1.1 声明一个ListView
声明一个List集合 用来存放数据
1.2 初始化ListView
1.3 给ListView绑定适配器
mListView.setAdapter(new ArrayAdapter
(this,android.R.layout.simple_expandable_list_item_1,getDa ta());
第一个参数:传递上下文对象
第二个参数:系统提供的一种简单的布局文件
第三个参数:用ArrayList显示的数据什么
给List集合添加数据
1.4 将ListView添加到Activity上
2.SimpleAdapter
2.1创建一个布局文件,用来个每一个Item进行布局
设置ImageView、TextView等
2.2 在MainActivity的布局文件中添加ListView
2.3 声明属性并且进行初始化
ListView、SimpleAdapter、List数据集合
2.4 对SimpleAdapter进行初始化,adapter有五个参数
SimpleAdapter adapter = new
SimpleAdapter(this,getData(),R.layout.list_item,
new String[]{“image”,”title”,”info”},new int[]
{R.id.image,R.id.title,R.id.info});
参数1.传递的一个上下文对象
参数2.要显示的数据
参数3.数据显示的布局文件
参数4.数据提取时用到的键
参数5.数据对应的布局文件中的ID
2.5 将ListView和SimpleAdapter进行绑定
mListView.setAdapter(simpleAdapter);
2.6 定义一个带返回值的方法用来创建和初始化数据
private List
Activity中的代码
package com.tang.zz_work_listview1;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ListView;
import android.widget.TextView;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
private ListView lv;
private TextView tv;
List<String> list;
private ListAdapter adapter;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
setData();
}
private void setData() {
list = new ArrayList<>();
for (int i = 0; i < 100; i++) {
list.add("this is" + i);
}
adapter = new ListAdapter(list, this);
lv.setAdapter(adapter);
tv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
将上一个数据清除
list.clear();
for (int i = 0; i < 100; i++) {
list.add("这是=========" + i);
传递更新的数据
adapter.setList(list);
}
}
});
}
private void initView() {
lv = (ListView) findViewById(R.id.main_lv);
tv = (TextView) findViewById(R.id.main_tv);
}
}
**Adapter中的代码**
package com.tang.zz_work_listview1;
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
import java.util.List;
public class ListAdapter extends BaseAdapter {
List<String> list;
Context context;
public ListAdapter(List<String> list, Context context) {
this.list = list;
this.context = context;
}
public int getCount() {
return list.size();
}
public Object getItem(int i) {
return list.get(i);
}
public long getItemId(int i) {
return i;
}
public View getView(int i, View view, ViewGroup viewGroup) {
TextView tv = new TextView(context);
tv.setText(list.get(i));
return tv;
}
新建一个方法用来传递更新的数据
public void setList(List<String> list1){
this.list = list1;
点击是更新
notifyDataSetChanged();
}
}