android ListView 数据更新的总结

Android的ListView控件动态更新item数据 效果图: 布局文件xml: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/Layout2" android:layout_width="matc... 阅读详情

android ListView 数据更新的总结

1、android中ListView滚动刷新

 

在做ListView加载数据时如果数据量大的话会造成加载时间过长而卡屏,所以为了解决这个问题,查看了SDK,

在OnScrollListener中有两个方法

只要重写这两个方法就可以实现滚动加载,例如:

public void onScroll(AbsListView v, int firstVisibleItem,
   int visibleItemCount, int totalItemCount) {
  lastItem = firstVisibleItem + visibleItemCount - 1;
  if (adapter.count == lastItem) {
   adapter.count += 10;
   adapter.notifyDataSetChanged();
  }

 }

 public void onScrollStateChanged(AbsListView view, int scrollState) {
  // TODO Auto-generated method stub

  Log.i("onScrollStateChanged", "onScrollStateChanged");
 }

 

本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/evy_gyw/archive/2011/01/05/6118196.aspx

 

 

2、Android中的ListView内容刷新问题

最近在学习Android的listView控件时遇到了一个问题,如何添加一个Item到ListView中并及时的刷新出来。在网上查了很多帖子,很多人在问,也很多人在解答,但是总的来说都没找到详细的解决方案。对于ListView与数据库的同步,高手们建议使用ContentProvider对象。但是如果我不使用数据库呢?也有人回答用notifyDataSetChanged()方法。这倒是一个正确的解决方案,但是对于新手来说,还是比较困惑怎么去用,这里我贴一下我的用法:

 

Java代码
OnClickListener listener2 = new OnClickListener() {            
@Override           
  public   void  onClick(View v) {                
// TODO Auto-generated method stub                
Map<String, Object> m =  new  HashMap<String, Object>();               
 String tiString  = tv.getText().toString();  // 注意这里我为什么要取出这个EditText的内容                
m.put( "prod_na" , tiString);  // 而不这样写 m.put("prod_na", tv.getText());                
m.put( "prod_type" , tiString);  // 因为tv.getText()返回的是Editable对象,真正的数据是被缓存的,                                               // 也就是说你后续的EditText改动都会影响之前添加的Item                
coll.add(m);                                
// 取回Adapter对象,用于调用notifyDataSetChanged方法。               
 SimpleAdapter sAdapter = (SimpleAdapter)lv.getAdapter();                
sAdapter.notifyDataSetChanged();          
  }      
  };  

OnClickListener listener2 = new OnClickListener() {

@Override public void onClick(View v) {

// TODO Auto-generated method stub

Map<String, Object> m = new HashMap<String, Object>();

 String tiString = tv.getText().toString(); // 注意这里我为什么要取出这个EditText的内容

m.put("prod_na", tiString); // 而不这样写 m.put("prod_na", tv.getText());

m.put("prod_type", tiString); // 因为tv.getText()返回的是Editable对象,真正的数据是被缓存的,

 // 也就是说你后续的EditText改动都会影响之前添加的Item coll.add(m); // 取回Adapter对象,用于调用notifyDataSetChanged方法。 SimpleAdapter sAdapter = (SimpleAdapter)lv.getAdapter(); sAdapter.notifyDataSetChanged(); } };

 

 http://android.group.iteye.com/group/blog/774152

 

这里涉及到了Android中的MVC模式概念,如何存储数据,控制和显示。

你可以认为ListView是一个View,那么mode是什么呢?显然是SimpleAdapter对象,而Control又是什么呢?那只能是notifyDataSetChanged()了。当数据变化时,也就是SimpleAdapter所处理的数据变化了,那么我们就需要调用 notifyDataSetChanged 去通知View作出改变。


Android零基础入门第44节:ListView数据动态更新 前面所有ListView里面要填充的数据都是静态的,但在实际开发中,这些数据往往都是动态变化的,就涉及到ListView数据的更新问题了。 阅读详情

相关推荐

java listview刷新_Android——Listview不用notifydatasetchanged更新数据的方法

一、介绍先来介绍一下listview更新数据的几种方法,目前我知道的方法有如下几种:1. 每次更新数据时都调用listview.setadapter();2. 每次更新数据时都调用adapter.notifydatasetchanged();3. 在自定义的adapter里添加更新函数update;这里,我们将会一个一个来介绍,顺便说一句,对ListView的工作原理和机制不明白的可以看看这篇文章...

weixin_32524219的博客 596

安卓实现listview联动效果且选项多选

实现效果如图,点击大洲进行第一个listview数据的刷新且联动第二个listview数据更新,正常第二个listview是单选,点击后进行数据刷新,现在做的是数据多选最后点击确定按钮进行数据提交 首先实现两个listview联动效果: 数据源如下   "area": [  {                 "id": "1009",                 "namecn":

xiaoqiang_0719的博客 4611

安卓探究ListView+Adapter数据在工作线程中更新引发的crash以及解决方法(一)

第一部分 crash描述及原因分析     在ListView和Adapter搭配使用时,有一个经典的安卓crash:Adapter数据源发生变化但是没有通知ListView。   异常类型:IllegalStateException 异常描述: The content of the adapter has changed but ListView did not receive a

@甘道夫@的专栏 3298

【20】Android UI - ListView数据更新

目录 前言 listview.setAdapter( ) 主页面 ListView Updata1.java adapter.notifyDataSetChanged( ) 自定义适配器中实现数据更新 Demo效果演示 源码下载 推荐阅读 前言 前面学习到的 ListView 其数据都是静态的,即我们的 ListView 定义好以后只做展示使用。然而在开发过程中,我们不仅...

Hsy的博客 5358

Android 基础入门教程ListView的数据更新问题

本文介绍了Android中ListView数据更新的实现方法。主要内容包括:1) 创建基础ListView示例,展示静态数据显示;2) 动态添加数据的方法,支持在指定位置插入新项;3) 删除单项或全部数据的实现;4) 数据更新机制,说明notifyDataSetChanged()方法的实际工作原理。文章通过具体代码示例演示了如何实现数据增删改操作,并澄清了关于notifyDataSetChanged()性能的常见误解,指出该方法只会重绘发生变化的item而非全部列表项。这些方法同样适用于其他Adapter类

xiaoaque的博客 1312

Android快速入门:动态更新ListView数据

当按钮被点击时,我们修改itemList集合中第一项数据的名称和描述,并调用适配器的notifyDataSetChanged()方法通知ListView数据发生了改变。首先创建了一个数据模型类,然后编写了适配器类将数据模型与ListView进行关联,最后演示了如何在点击事件中动态更新数据并通知ListView刷新界面。在动态更新ListView数据之前,我们需要先创建一个数据模型,用于存储列表中的每一项数据。接下来,我们需要编写一个适配器类,用于控制ListView中每一项数据的显示。

CyberLynxX的博客 804

android listview更新数据

要使listView的列表项发生改变时及时显示在UI中,就要更新listView的数据。 两种方法: 方法一: 数据直接在adapter上修改,adapter.add().等方法 方法二: 本质上是listview绑定Adapter,Adapter关联List,因此List变化后导致Adapter同步变化;再通过调用adapter.notifyDataSetChanged();方法使得li

xueAnother的博客 1747

scGPT实战指南:如何用生成式AI加速你的单细胞多组学研究?

本文提供了scGPT在单细胞多组学研究中的实战指南。详细介绍了从环境部署、数据预处理到细胞类型注释与扰动预测等核心任务的操作流程。通过利用生成式AI和Transformer基础模型,scGPT能够显著加速分析,并提升细胞注释的准确性及基因调控网络推断的深度,为研究人员提供了强大的AI分析引擎。

weixin_29215815的博客 403

Android开发中ListView数据更新显示的解决方法

在使用ListView时 经常会遇到更新listview中的数据 并显示出来 再此介绍两个方法来解决这个问题: 1、在对listView进行适配的时候 使用simpleAdapter()的方法适配      adapter = new SimpleAdapter(context, data, resource, from, to);要知道各个参数的含义 context是上下文 即存放listv

kokodudu的专栏 2万+

紫光同创国产FPGA学习之Fabric Debugger

文章从紫光同创参考书拷贝过来的。因为我用的时候,看了一下就会用了(纯粹只是会用了,默认和xilinx的一样),没有看教程。先更新点文本,后面在写程序。 一、      软件简介 Fabric Debugger是一款界面化的FPGA芯片调试工具,能够针对公司目前以及未来的FPGA芯片进行在线调试。本软件直接与JtagHub、DebugCore交互,能够实时的配置目标FPGA、设置触发条件并且观测结...

my_share的专栏 6397

比Synergy更轻量!Barrier鼠标共享工具实测:5分钟实现Win/Mac/Linux三设备无缝切换

本文实测了开源免费的Barrier鼠标共享工具,详细指导用户如何在5分钟内于Windows、macOS和Linux三台设备间实现一套键鼠的无缝切换。文章对比了其与Synergy的优势,提供了分平台安装、核心服务端-客户端配置、防火墙设置等完整教程,并分享了解决连接问题的关键技巧,是提升多设备办公效率的实用指南。

weixin_29304021的博客 601

Android 之 ListView 的数据更新问题

我们前面已经学习了ListView的一些基本用法咧,但是细心的你可能发现了,我们的数据 一开始定义好的,都是静态的,但是实际开发中,我们的数据往往都是动态变化的,比如 我增删该了某一列,那么列表显示的数据也应该进行同步的更新,那么本节我们就来探讨 下ListView数据更新的问题,包括全部更新,以及更新其中的一项,那么开始本节内容!可以运行,运行后发现我们的页面并没有任何的数据,白茫茫的一片,这样的用户体验并不好, 我们可以通过调用ListView的一个。好的,我们弄个添加按钮,没按一次添加一条记录哈~

leyang0910的博客 1380

从零到一:Abaqus与Matlab联合仿真的自动化流程构建指南

本文详细介绍了如何构建Abaqus与Matlab联合仿真的自动化流程,涵盖基础架构设计、关键接口技术实现、结果提取与处理技术以及高级参数化优化流程。通过Python脚本作为桥梁,实现数据传递和任务控制,帮助工程师提升仿真效率。特别强调了版本兼容性、异常处理和性能监控等实用技巧。

weixin_29090089的博客 612

android fragment listview,如何在fragment中更新Listview中的数据?

1.RT,我想实现通过点击fragment界面上面的按钮动态更新fragment界面上面的listview数据,我把更新Listview的方法写到一个showlist()的方法里面/*** 展示列表*/private void showList() {mArrayList.clear();for (int i = 2; i < paraList.size(); i++) {Para para...

weixin_39775428的博客 1035

手把手教你学AutoSAR - 总目录

鉴于近期较多博友问及微信群,如下可申请好友验证,请备注“autosar”,否则可能添加不通过。验证通过后,拉入讨论群。PS:本人鉴于工作事项可能不能及时回复问题,可在交流群内部和其他博友之间相互沟通交流经验。欢迎来到桃源乐游的《AutoSAR配置与实践》,以下为学习大纲,蓝色字体点击可跳转。

nihaoljq2010的博客 7464

Vue + ECharts:从零构建智慧农业数据监控大屏(附完整源码)」 「超实用!一步步实现智慧农业大屏,完整代码+讲解」 「前端新手友好:Vue + ECharts 打造炫酷农业数据大屏」 「

Vue + ECharts:从零构建智慧农业数据监控大屏(附完整源码)」 「超实用!一步步实现智慧农业大屏,完整代码+讲解」 「前端新手友好:Vue + ECharts 打造炫酷农业数据大屏」 「前端可视化项目实战:智慧农业监控大屏开发详解」 「农作物可视化监控:用 Vue 和 ECharts 构建大屏应用」 「从零开始开发一个智慧农业数据大屏(代码+图表展示)」 「前端新手也能实现!智慧农业监控大屏开发教程」 「用 Vue 和 ECharts 搭建动态数据大屏:详细图文教程」 「学习前端大屏开发:

sky10100100的博客 1535

android中的ListView的数据的更新(update)

代码: import android.content.Context; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGr

panyzyw的博客 2338

Openclaw错误分析与解决方案之:Agent couldn‘t generate a response. Please try again.

Openclaw错误分析与解决方案:Agent couldn't generate a response. Please try again.

多媒体编程、网络编程、系统编程、网络安全编程、驱动编程 1230

android listView更新数据

更新listView需要调用SimpleAdapter.notifyDataSetChanged

u012519561的专栏 603

arkts编译报错-arkts-limited-stdlib错误【Bug已完美解决-鸿蒙开发】

在使用 Deveco Studio 4.0 beta2 开发应用时,报错。ERROR: ArkTS:ERROR File: D:/prRevivw/3792/applications_appsamg优快云o”见台难忘Usage of standardlibrary is restricted (arkts-limited-stdlib)这是 ArkTS 新增的语法规则。

一键难忘的博客 3781

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

android listactivity 动态更新,Android AlertDialog 动态更新里面的ListView数据

1:和ListView的数据跟新是基本一样的。2:Activity代码示例public class MainActivity extends AppCompatActivity {AlertDialog alertDialog;View view;List data = new ArrayList<>();ListView listView;ArrayAdapter adapter;...

weixin_32540969的博客 273

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Android ListView动态更新数据

Android ListView就是可以显示一行行Item的控件,有时候数据非常多,通常需要分页显示,但为了减少用户的输入,我们可以动态更新ListView,把下一页要显示的数据的添加到当前ListView中。先看看效果:需要注意的是程序在什么时候去更新数据,listVIew的setOnScrollListener监听是否滚到了最后一条记录。 取到的数据加到list中,最后记得调用adapter...

风曦云飞 396

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Android ListView 数据更新问题

<br />    这个问题困扰了我好几天:应用场景为:主窗体显示的是一个子类别的数据(用listView显示),当通过菜单选择父类别后,主窗体内的列表数据应做相应的更新:应该是新选择的数据相关联的子类别了。如何更新数据,一时没找到方法,在Android经典例子NoteList中没看到,在ApiDemo中也没找到(或许是我太粗心没逐一学习完)。最开始想使用重新绑定ListAdapter,但在执行过程中报错,setListAdapter(mAdapter);只能被调用一次。<br />    今天终于找到方法

希望 3790

Android: ListView动态更新数据

<br /> <br /> <br />修改数据:<br />...<br />更新数据:<br />((BaseAdapter) getListAdapter()).notifyDataSetChanged();<br /><br /><br /> <br /> 

TODO: Android; Linux; Cloud; 4866

android alert 动态,Android AlertDialog 动态更新里面的ListView数据

1:和ListView的数据跟新是基本一样的。2:Activity代码示例public class MainActivity extends AppCompatActivity {AlertDialog alertDialog;View view;List data = new ArrayList<>();ListView listView;ArrayAdapter adapter;H...

weixin_31649177的博客 411
上一篇: java IO操作 (读写、追加、删除、移动、复制等)
下一篇: main cannot be resolved or is not a field
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值