ListView刷新某一项Item

ListView现在已经很少被使用,但还是在这里列出来说一下,有时候我们仅仅需要改变listView的某个Item,如果调用adapter的notifyDataSetChanged()方法效率不高,并且可能会出现内容闪动,那么我们怎么刷新某一个特定的item呢?

在这里我们以刷新第一个item为例,刷新其它item类似。

public void notifyPositionChange(ListView listView) {
        int visibleFirstPosition = listView.getFirstVisiblePosition();
        //如果此时第一项可见,那么就手动刷新
        if (visibleFirstPosition == 0) {
            View view = listView.getChildAt(0);
            if (view == null) {
                return;
            }
            //我们在这里进行刷新,怎么获取到该item的组件进行刷新呢?
            //假如该item有一个TextView,用这种方法
            ((ViewHolder) view.getTag()).textView.setText("A");
        }
    }

转载请标明出处:https://www.cnblogs.com/tangZH/p/9760190.html

原文地址:https://www.cnblogs.com/tangZH/p/9760190.html

时间: 2024-11-10 10:55:18

ListView刷新某一项Item的相关文章

ListView设置某一项item的文本居中

使用ListView和volley写了一个使用网络获取天气的demo ListView中Item的文本模式都是左侧对齐 我这边需要一些标题文本居中对齐 网上也找不到示例,不过找到了getView这个函数 于是自己摸索出了代码: 方式就是在adapter的getView中判断是否含有指定的item,如果有那么就设置这个item的文本居中: 1 this.adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_ite

ListView点击或选中item改变背景

点击或选中ListView中的一项后,使item背景改变,失去焦点同样显示选中的背景,重新选中另外一项才刷新: 在Adapter中配置: public class MyAdapter extends BaseAdapter{ int mSelect = 0; //选中项 ...... public void changeSelected(int positon){ //刷新方法 if(positon != mSelect){ mSelect = positon; notifyDataSetCha

android ListView 刷新卡顿问题

本人刚接触android开发,最近遇到一个关于ListView 刷新item一直卡顿的现象,进度条一直只刷新两次就结束了,灰常不明白,各种百度,各种找资料,什么线程什么的都试了遍,然并卵.一直到看到了一篇资料中提到了wrap_content这个属性,没错就是这个根据内容自适应大小,才发现问题是出在这里. wrap_content根据内容自适应大小,就需要计算item的宽高,如果parent也是这个属性的话,就需要非常长的时间来计算,尤其是在动态更新item的时候,这个过程会不断的进行,所以建议以

zabbix的监控项(item)

1.Item简介 "监控项item"是zabbix服务器用于监控一个特定对象上的一个特定指标,并负载针对其他搜集相关的监控数据. 比如CPU每分钟的平均负载可以是一个item,每5分钟的平均负载是一个item,某特定网络接口接收报文的速率又是一个item等. 每一个itme都拥有相应的"类型(Type)" 例如:"Zabbix agent"."SNMP"."External check"."IPM

[转][Android] ListView中getView的原理+如何在ListView中放置多个item

ListView 和 Adapter 的基础 工作原理: ListView 针对List中每个item,要求 adapter “给我一个视图” (getView). 一个新的视图被返回并显示 如果我们有上亿个项目要显示怎么办?为每个项目创建一个新视图?NO!这不可能! 实际上Android为你缓存了视图. Android中有个叫做Recycler的构件,下图是他的工作原理: 如果你有10亿个项目(item),其中只有可见的项目存在内存中,其他的在Recycler中. ListView先请求一个t

listview当选中某一个item时设置背景色其他的不变

listview当选中某一个item时设置背景色其他的不变: 可以使用listview.setOnFoucsChangeListener(listener) ; /** * listview获得焦点和失去焦点时背景颜色的变化 * @author long * */ private class MyOnFocusChangeListener implements OnFocusChangeListener{ @Override public void onFocusChange(View v, b

Android ListView中 每一项都有不同的布局

实现代码 Adapter的代码 其中:ViewHolder分别是三个不同的布局,也就是ListView中每一项的布局 TYPE_1...是三种类型. 在使用不同布局的时候,getItemViewType和getViewType不能少,一般是不用这两个函数的重载的 class RunRankAdapter extends BaseAdapter { ArrayList<HashMap<String, Object>> ls; Context mContext; LinearLayou

listview的pushBackDefaultItem中的item属性被修改问题

time:2015/05/04 1. 描述 在cocostudio中有两个控件,一个listview,另外一个是隐藏的imageview,其中后者作为listview的元素.每次使用的时候把ImageView设置为默认的item(setItemModel),然后通过listview:pushBackDefaultItem进行插入指定个数的元素.但是在使用过程中会修改listview中的元素(通过getItem得到其中的元素),结果修改了listview的元素之后作为默认itemmodel的Ima

Android ListView 长按如何获取item的主键并操作对应数据库元组

============问题描述============ 我做的是一个租房管理系统,大概是现在在对房子操作这个界面,我现在是要长按listView中的某一个Item,要求实现修改和删除功能. This is my house_setting.xml document <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.andr