Android 关于adapter自动检测数据源变化

本文分享了作者在Android开发中遇到的一个问题,即adapter能在setAdapter方法未完成时检测到数据源的变化并响应,可能导致加载混合数据。作者通过实验验证了这个猜想,并提醒开发者在设置adapter前确保数据源正确,避免出现数据错乱的情况。
摘要由CSDN通过智能技术生成

昨天遇到了一个问题,今天忙了一天 问了好多人,最后也没有个所以然。最后偶然间发现了问题,解决了  并产生了一系列的猜想,做了个小实验,并且验证了猜想  

在这里跟大家分享一下


我的猜想是:adapter能够在setAdapter方法没有执行完的时候检测数据源的变化,并对之做出反应,继续加载新的数据源。  挺简单的东西,底层是什么深层原理,我是小白钻不下去,只是把自己遇到的收获的跟大家分享一下,下面贴出来我试验的代码(运行以后上下拉动,看看效果(其他的自己思考,有什么新发现欢迎一起讨论)):

布局很简单,只有一个listview   item布局只写了一个textView

import java.util.ArrayList;
import java.util.List;


import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.TextView;


public class MainActivity extends Activity {


private ListView listview;
private MyAdapter adapter;
List<String> str=new ArrayList<String>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

initView();
initData();
listview.setAdapter(adapter);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值