ListView、点击刷新

本文详细介绍了如何在Android中使用ArrayAdapter和SimpleAdapter来操作ListView。首先通过ArrayAdapter展示了如何声明并初始化ListView,绑定数据以及将ListView添加到Activity。接着,通过SimpleAdapter的使用,解释了如何创建自定义布局文件,初始化ListView,并详细说明了SimpleAdapter的参数含义,包括上下文对象、数据、布局文件、键和ID。最后,提到了一个用于创建和初始化数据的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 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();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值