每次在 getView 中视图都会膨胀。 findViewById(...) 已执行多次。我用过View Holder

2023-12-07

public View getView(final int pos, View arg1, ViewGroup arg2) {

    ViewHolder holder;
    View view = arg1;

    if (arg1 == null) {
        holder = new ViewHolder();
        System.out.println("Inflating view");
        arg1 = mInflater.inflate(R.layout.inflatefreedownlod, arg2, false);
        holder.im = (ImageView) arg1.findViewById(R.id.imf1);
        holder.tv1 = (TextView) arg1.findViewById(R.id.tvf1);
        holder.tv2 = (TextView) arg1.findViewById(R.id.mini1);
        holder.tv3 = (TextView) arg1.findViewById(R.id.m1);
        arg1.setTag(holder);

    } else {

        holder = (ViewHolder) arg1.getTag();
    }

    holder.tv1.setText(NAME.get(pos).toString());
    holder.tv2.setText(contentName.get(pos).toString());
    holder.tv3.setText(minidescp.get(pos).toString());
    URL url1;

    try {

        url1 = new URL(imurl.get(pos).toString());
        bmp = BitmapFactory.decodeStream(url1.openConnection().getInputStream());
        holder.im.setImageBitmap(bmp);
        //bmp.recycle();

    } catch (Exception e) {
        e.printStackTrace();
    }

    arg1.setOnClickListener(new OnClickListener() {

                            @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub
            for (int i = 0; i < NAME.size(); i++)
                if (pos == i) {
                    getFreeContent(Cid.get(pos).toString(), Vid.get(pos).toString(), contentName.get(pos).toString());
                }

        }

    });

    return arg1;
}

我看到 logcat 显示 Inflating View 3 次。当我在模拟器上测试它时,我在列表视图中显示了 3 个 LinearLayout 。为什么我的视图每次都是空的?视图也每次都会膨胀。我的代码有什么问题吗


如果您的列表中有三个项目,并且屏幕上有可容纳三行的空间ListView, getView()将被调用三次null View创建这三行。您无法回收当前正在使用的行。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

每次在 getView 中视图都会膨胀。 findViewById(...) 已执行多次。我用过View Holder 的相关文章

  • 在 Android 上通话结束时启动活动

    我想在通话结束时启动一项活动 找不到任何对此的参考 我该怎么做 我还没有尝试过这个 但我假设你可以运行一些服务 始终在后台运行 它利用电话状态监听器 http developer android com reference android
  • 设置文本视图 Android 的文本颜色

    在 string xml 文件中我使用以下标签
  • Cheesesquare:enterAlways 会产生错误的布局

    Adding enterAlways到 Cheesesquare 演示的滚动标志
  • 从响应中获取标头(Retrofit / OkHttp 客户端)

    我正在使用 Retrofit 与 OkHttp 客户端和 Jackson 进行 Json 序列化 并希望获取响应的标头 我知道我可以扩展 OkClient 并拦截它 但这发生在反序列化过程开始之前 我基本上需要的是获取标头以及反序列化的 J
  • Android Q:file.mkdirs() 返回 false

    我们有一个应用程序 使用外部存储来存储一些临时文件 图像 二进制数据 该代码已经运行了几年 直到最近才发生重大变化 在 Android Q 上它不起作用 File f new File Environment getExternalStor
  • fetchUuidsWithSdp 的奇怪 UUID 逆转

    我有一个在树莓派上运行的 python 蓝牙服务器 使用 PyBluez 我在服务器中使用的uuid是 8f86d132 4ab8 4c15 b8df 0b70cf10ea56 我正在打电话device fetchUuidsWithSdp
  • 自定义首选项中的android首选项水平分隔线?

    我创建了自己的自定义首选项对象来扩展首选项 我创建它们只是因为这些自定义数据类型没有首选项 一切正常 但我的自定义首选项没有相同的外观 因为它们缺少系统首选项对象具有的水平分隔线 我已经查找了创建水平分隔线的代码 但我找不到它是在哪里完成的
  • Android Eclipse 上的 Web 服务

    我是 android eclipse java 的新手 事实上这个论坛也是如此 有人遇到过这种情况吗 从用户那里获取输入并通过使用 android eclipse 中的 Web 服务来显示适当的结果 有可用的示例吗 非常感谢 我正在发布教程
  • 从 BroadcastReceiver 类调用活动方法

    我知道我可以做一个内部接收器类来调用接收器中的任何方法 但我的主要活动太大了 要做的事情也很多 因此 我需要一个扩展广播接收器的类 但它不是内部类 并且可以从我的主要活动中调用一种方法 我不知道是否可能 但我的活动是家庭活动和 single
  • Mipmap 与可绘制文件夹[重复]

    这个问题在这里已经有答案了 我正在使用 Android Studio 1 1 Preview 1 我注意到 当我创建一个新项目时 我得到以下层次结构 不同 DPI 的 Mipmap 文件夹 不再有不同 DPI 的可绘制文件夹 我应该将所有资
  • Android 中如何通过彩信发送图片?

    我正在开发多媒体应用程序 我正在通过相机捕获一张图像 并希望将该图像和文本发送到其他号码 但我不知道如何通过彩信发送图像 MMS 只是一个 http post 请求 您应该使用执行请求额外的网络功能 final ConnectivityMa
  • 我应该释放或重置 MediaPlayer 吗?

    我有自己的自定义适配器类 称为 WordAdapter 并且我正在使用媒体播放器 名为pronounce WordAdapter 类中的全局变量 我有不同的活动 其中每个列表项都有线性布局 名为linearLayout 我正在设置onCli
  • Dagger 2 没有生成我的组件类

    我正在使用 Dagger 2 创建我的依赖注入 几个小时前它还在工作 但现在不再生成组件 这是我创建组件的地方 public class App extends Application CacheComponent mCacheCompon
  • Android Studio 缓慢的增量构建

    我已经完成了许多步骤来完善我们的构建系统 those https stackoverflow com questions 16775197 building and running app via gradle and android st
  • 上网本上可以进行Android开发吗? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我想使用我的上网本进行 Android 开发 但是当我尝试使用 Eclipse 运行 SDK 时 没有加载任何内容 上网本对于 Android 开发来
  • 在命令行上卸载 Android SDK 的选定部分

    这与 卸载旧的 Android SDK 版本 https stackoverflow com questions 15182377 uninstall old android sdk versions 除非我想在无头 Linux CI 服务
  • 如何检查 Android 中的同步设置

    我正在构建一个 Android 应用程序 我需要检查设备中注册的每个单独帐户的同步设置 我知道我可以通过 ContentResolver 类来做到这一点 但我遇到了一些问题 我已设法获取设备上所有帐户的列表 但我不知道在运行时从哪里获取特定
  • 通过电子邮件发送文本文件附件

    我正在尝试附加一个文本文件以便通过电子邮件发送 但每当我打开电子邮件应用程序时 它都会说该文件不存在 请帮助 Intent i new Intent Intent ACTION SEND i setType text plain i put
  • 我的应用程序中的后退按钮出现问题[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我想在手机关闭时清除共享首选项值 你
  • Dagger 2 中“HasFragmentInjector”的实际用法是什么

    我之前已经实现了 dagger2 v2 2 但现在他们也添加了 dagger android 部分 所以我正在用它创建示例项目 我知道旧的方法论 Provide and Modules and 成分等注释 但从 Dagger 2 8 开始

随机推荐

  • 在聊天模拟器机器人框架中显示数据

    我需要在聊天中显示大量数据 我想在机器人框架的聊天模拟器中以表格形式显示它 For eg 点餐 披萨 数量 1 时间 下午 1 点 点餐 汉堡 数量 2 时间 下午 3 点 我想以表格方式显示它 正如中所解释的docs 消息的默认文本格式是
  • 在 Kotlin 中注释属性时,注释的默认目标是什么?

    Kotlin 中的注释可以有不同的使用站点目标 如下所述 https kotlinlang org docs reference annotations html annotation use site targets 我的问题是 当未明确
  • AFRAME 屏幕到世界位置

    我正在尝试通过 Aframe 将鼠标位置转换为三中的世界坐标 使用类似的东西 let mouse new three Vector2 let camera document querySelector camera let rect doc
  • 为 Laravel 中资源的每个方法分配单独的中间件

    我在用Zizaco 委托laravel 包作为我的项目的 ACL 管理器 我知道 为了通过中间件限制对路由组的访问并为其分配角色 或权限 我应该这样做 Route group prefix gt admin middleware gt ro
  • python 使用正则表达式搜索和更新字符串

    我有下面的字符串 我可以抓住 text 我想要什么 文本在图案之间扭曲 代码如下 val1 quot vmdId quot quot Text1 quot quot vmdVersion quot quot text2 quot quot
  • NSDate 更改时区

    我正在编写一个涉及时区的应用程序 我想获取用户的设备时间 我们称之为dateA 并且我有一个目标日期 该日期将始终位于 EDT 时区 dateB 我想获得两个日期之间的差异并向用户显示 但是在dateB的时区 eg 用户设备时间为 07 3
  • 从索引矩阵填充矩阵

    我想从索引数组填充矩阵 import numpy as np indx 0 1 2 1 2 4 0 1 3 2 3 4 0 3 4 x np zeros 5 5 for i in range 5 x i indx i 1 结果是 array
  • 如何使用 NodeJs 获取 MongoDB 中的数据库列表? [复制]

    这个问题在这里已经有答案了 我已经看到了 C 和 Java 的答案 但在 NodeJs 上找不到任何内容 我尝试在 Windows 中使用 cmd shell 来获取所需的输出 但没有成功 我知道可以在 Mongo shell 中获取相同的
  • 查找从 l 到 r 中按位与等于 0 的自然数对的数量

    给定 l 和 r 找到从 l 到 r 的按位与等于 0 的自然数对的数量 Limits 1 r l 我只能写一个蛮力 有谁知道如何解决这个任务 范围大小最大为 10 6 因此我们可以以某种方式使用它 首先编写如下函数 def and i l
  • 使用 LINQ 将字符串转换为 int 以便排序

    我想通过转换为 int 的字符串来排序我的列表 var orderedListOfRfidTags uow RfidTags OrderBy t gt Convert ToInt32 t Number ToList 但得到 不支持方法 To
  • iTunes API:获取应用程序的 100x100 px 图标

    我正在使用 iTunes API 来获取有关 App Store 中应用程序的一些信息 正在阅读文档我看到从 JSON 请求中获取的 artworkUrl100 参数将为我提供应用程序的 100x100 图标 我注意到这并不总是有效 有时它
  • 如何使我的 Makefile 更好?

    我试图学习项目的 最佳实践 makefile 请查看下面我的 Makefile 文件并提出更改建议以增强它 目录布局 root dir Makefile deps deps bin binary objs all o files inclu
  • 对象字面量在控制台中表现得很奇怪

    在 JavaScript 控制台 我使用的是 Chrome 中 表达式 评估为undefined 如果我执行var a 表达方式a评估为Object 为什么没有表达 评估为Object 在控制台中 此外 a 4 似乎评价为4 以及表达式 a
  • 服务应用程序和 Google Analytics API V3:服务器到服务器 OAuth2 身份验证?

    我正在尝试制作一个服务器应用程序来定期从我自己的 GA 帐户中提取 Google Analytics 数据 请注意 这是一个访问我自己的数据的个人服务器端应用程序 即没有最终用户访问此应用程序 因此 我在谷歌 API 控制台 as a 服务
  • 如何应用参数/for循环

    目前我有一个程序可以查找两个 XYZ 坐标的点积 我如何将其放入循环中 以便它沿着坐标列表查找每个坐标相对于第一个坐标的点积 import operator vector1 int l 0 0 int l 0 1 int l 0 2 vec
  • 如何删除 Google App Engine 中的所有数据存储?

    有谁知道如何删除所有数据存储谷歌应用引擎 如果你说的是实时数据存储 打开应用程序的仪表板 登录 appengine 然后打开数据存储 gt dataviewer 选择要删除的表的所有行 然后单击删除按钮 您必须对所有表执行此操作 您可以通过
  • 检测用户是否具有管理员权限

    如何确定当前用户 运行我的应用程序的用户 是否具有管理员权限 即是管理员组的成员 我需要为访问权限有限的用户以不同的方式注册一些 COM 组件 我正在使用 C WTL 和 Win32 IsUserAnAdmin 是快速且简单的方法 但 MS
  • 获取州名称而不是 Woocommerce 中的代码

    我使用此处的代码向我的 woocommerce 添加了自定义状态列表 https docs woocommerce com document addmodify states 新添加的状态在前端和某些后端屏幕上加载良好 但是在电子邮件和用户
  • 按对象数组过滤 searchController

    我创建了一个 searchController 因此我尝试让它根据 UISearchController 中的文本过滤内容 我创建了一个如下所示的自定义对象 我尝试过使用 NSPredicate 但不断收到 cannot convert v
  • 每次在 getView 中视图都会膨胀。 findViewById(...) 已执行多次。我用过View Holder

    public View getView final int pos View arg1 ViewGroup arg2 ViewHolder holder View view arg1 if arg1 null holder new View