高效适配器有java.lang.ClassCastException吗?

2023-12-26

看完后here http://www.google.com/events/io/2009/sessions/TurboChargeUiAndroidFast.html我尝试实现自己的高效适配器,

我的 ViewHolder 类几乎相同:

static class ViewHolder {
        ImageButton button;
        TextView txtView;
    }

getView 方法如下所示:

private void getView(...) {

    if(convertView == null) {
        convertView = LayoutInflater.from(
                parent.getContext()).inflate(R.layout.linear_container,
                        parent, false);

        holder = new ViewHolder();
        convertView.setTag(holder);
    } else {
        // erro line
        holder = (ViewHolder) convertView.getTag();
    }

    LinearLayout llCustomImgViewContainer = (LinearLayout) convertView
            .findViewById(R.id.llContainer);
    llCustomImgViewContainer.setTag(viewPosition);

    return converView;
}

但是一旦新视图开始绘制,它就会给我错误

D/AndroidRuntime(748):关闭虚拟机 W/dalvikvm(748):threadid=1:线程因未捕获的异常而退出(group=0x412a4300) E/AndroidRuntime(748):致命异常:main E/Android运行时(748):java.lang.ClassCastException:java.lang.Integer无法转换为com.droid.test.widget.customListView$CustomBaseAdapter$ViewHolder

有人知道这里出了什么问题吗?


似乎一开始与

convertView.setTag(holder);

您正在设置与此视图关联的标签(即持有者),但稍后使用

llCustomImgViewContainer.setTag(viewPosition);

您正在将 viewPosition 设置为标签。那么大概在

holder = (ViewHolder) convertView.getTag();

您的代码尝试将 Integer 转换为 ViewHolder 并抛出 java.lang.ClassCastException。

如果我没记错的话,这就是“线性容器”布局的结构

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/llContainer">

    <!-- some views -->

</LinearLayout>

返回的视图来自

LayoutInflater.from(parent.getContext()).inflate(R.layout.linear_container,parent,false);

和返回的视图

convertView.findViewById(R.id.llContainer);

应该是一样的。

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

高效适配器有java.lang.ClassCastException吗? 的相关文章

  • 如何在 Android 中保存相机的临时照片?

    在尝试从相机拍照并将其保存到应用程序的缓存文件夹中时 我没有得到任何可见的结果 应用程序不会崩溃 但在 LogCat 上 当我尝试将 ImageView src 字段设置为刚刚获取的文件的 URI 时 我收到此消息 09 17 14 03
  • 类型容器“Android 依赖项”引用不存在的库 android-support-v7-appcompat/bin/android-support-v7-appcompat.jar

    我在尝试在我的项目中使用 Action Bar Compat 支持库时遇到了某种错误 我不知道出了什么问题 因为我已按照此链接中的说明进行操作 gt http developer android com tools support libr
  • React Native 从 JavaScript 代码内部访问 strings.xml

    有没有办法访问当前值android app src main res values strings xml从 JavaScript 代码内部 我想为每个构建放置不同的端点 URL 但我什至无法检测到反应本机代码内的构建类型 而不必求助于 D
  • 无法获取log.d或输出Robolectrict + gradle

    有没有人能够将 System out 或 Log d 跟踪从 robolectric 测试输出到 gradle 控制台 我在用Robolectric Gradle 测试插件 https github com robolectric robo
  • java.lang.NoClassDefFoundError:org.apache.batik.dom.svg.SVGDOMImplementation

    我在链接到我的 Android LibGDX 项目的 Apache Batik 库时遇到了奇怪的问题 但让我们从头开始 在 IntelliJ Idea 中我有一个项目 其中包含三个模块 Main Android 和 Desktop 我强调的
  • 计数物体和更好的填充孔的方法

    我是 OpenCV 新手 正在尝试计算物体的数量在图像中 我在使用 MATLAB 图像处理工具箱之前已经完成了此操作 并在 OpenCV Android 中也采用了相同的方法 第一步是将图像转换为灰度 然后对其进行阈值计算 然后计算斑点的数
  • Android SIP 来电使用带有广播接收器的服务

    大家好 其实我正在尝试创建一个应用程序 支持基于 SIP 通过互联网进行音频呼叫 这里使用本机 sip 我遇到了来电问题 我已经完成了服务的注册部分 但是在接听电话时我无法接听电话 请帮助我 Service file package exa
  • 使用 Android 发送 HTTP Post 请求

    我一直在尝试从 SO 和其他网站上的大量示例中学习 但我无法弄清楚为什么我编写的示例不起作用 我正在构建一个小型概念验证应用程序 它可以识别语音并将其 文本 作为 POST 请求发送到 node js 服务器 我已确认语音识别有效 并且服务
  • 是否有 ADB 命令来检查媒体是否正在播放

    我想使用 ADB 命令检查根植于终端的外部设备中是否正在播放音频 视频 我无法找到任何 ADB 命令 如果有 我尝试过 adb shell dumpsys media player 我想要一个命令来指定视频是否正在运行 您可以使用以下命令查
  • 控制Android的前置LED灯

    我试图在用户按下某个按钮时在前面的 LED 上实现 1 秒红色闪烁 但我很难找到有关如何访问和使用前置 LED 的文档 教程甚至代码示例 我的意思是位于 自拍 相机和触摸屏附近的 LED 我已经看到了使用手电筒和相机类 已弃用 的示例 但我
  • 在gradle插件中获取应用程序变体的包名称

    我正在构建一个 gradle 插件 为每个应用程序变体添加一个新任务 此新任务需要应用程序变体的包名称 这是我当前的代码 它停止使用最新版本的 android gradle 插件 private String getPackageName
  • 在 SQLite 中搜索时排除 HTML 标签和一些 UNICODE 字符

    更新 4 我已经成功运行了firstchar例如 但现在的问题是使用regex 即使包含头文件 它也无法识别regex操作员 有什么线索可以解决这个问题吗 更新 2 我已经编译了sqlite3我的项目中的库 我现在正在寻找任何人帮助我为我的
  • 如何默认在 ActionOpenDocument 意图中显示“内部存储”选项

    我需要用户选择一个自定义文件类型的文件 并将其从 Windows 文件资源管理器拖到 Android 设备上 但默认情况下内部存储选项不可用 当我使用以下命令启动意图时 var libraryIntent new Intent Intent
  • Android Studio 0.4.3 Eclipse项目没有gradle

    在此版本之前 在 Android Studio 中按原样打开 Eclipse 项目似乎很容易 无需任何转换 我更喜欢 Android Studio 环境 但我正在开发一个使用 eclipse 作为主要 IDE 的项目 我不想只为这个项目下载
  • 错误:在根项目“projectName”中找不到项目“app”

    我有一个在 Eclipse 中开发的旧应用程序 现在尝试将其迁移到 Android Studio 我更新了库并遵循了基本步骤 现在 我收到此错误 Error Project app not found in root project pro
  • 如何根据 gradle 风格设置变量

    我想传递一个变量test我为每种风格设置了不同的值作为 NDK 的定义 但出于某种原因 他总是忽略了最后味道的价值 这是 build gradle apply plugin com android library def test andr
  • 在activity_main.xml中注释

    我是安卓新手 据我所知 XML 中的注释与 HTML 中的注释相同 使用 形式 我想在 Android 项目的 Activity main xml 配置文件中写一些注释 但它给了我错误 值得注意的是 我使用的是 Eclipse 但目前 我直
  • 如何确定对手机号码的呼叫是本地呼叫还是 STD 或 ISD

    我正在为 Android 开发某种应用程序 但不知道如何获取被叫号码是本地或 STD 的号码的数据 即手机号码检查器等应用程序从哪里获取数据 注意 我说的是手机号码 而不是固定电话 固定电话号码 你得到的数字是字符串类型 因此 您可以获取号
  • android sdk 的位置尚未在 Windows 操作系统的首选项中设置

    在 Eclipse 上 我转到 windows gt Android SDK 和 AVD Manager 然后弹出此消息 Android sdk 的位置尚未在首选项中设置 进入首选项 在侧边栏找到 Android 然后会出现一个 SDK 位
  • 强制 Listview 不重复使用视图(复选框)

    我做了一个定制Listview 没有覆盖getView 方法 Listview 中的每个项目都具有以下布局 联系布局 xml

随机推荐

  • Azure CosmosDB:存储过程根据查询删除文档

    目标是输入一个简单的字符串查询 例如 SELECT FROM c WHERE c deviceId device1 并且所有生成的获取文档都需要删除 我发现了关于使用存储过程执行此操作的非常旧的帖子 但我无法让它与 新 用户界面一起正常工作
  • 如何使用 IPython 表示图形

    最近我发现IPython notebook这是一个强大的工具 作为一名 IT 学生 我一直在寻找一种用 Python 表示图形的方法 例如 我想知道是否有一个图书馆 例如numpy or matplotlib 从中可以得出 1 3 2 2
  • JPA 中的瞬态字段和查询中的设置

    我们如何从选择查询中加载 JPA 中的瞬态字段 例如我有这个查询 SELECT table1 SELECT SUM field from table2 WHERE theField table1 flag as total FROM tab
  • 为什么 C# 中某些迭代器比其他迭代器更快?

    有些迭代器速度更快 我发现这一点是因为我收到鲍勃 塔博尔 Bob Tabor 的来信9频道 http channel9 msdn com 永远不要复制和粘贴 我习惯于这样做来设置数组值 testArray 0 0 testArray 1 1
  • 如何在行为测试.feature 文件的示例表中使用管道字符?

    我有一个行为场景大纲 我需要使用管道字符 作为示例表中的单元格值 但我不知道如何转义这个字符 以免被视为列分隔符 我越来越Malformed table当我尝试使用时出错 顺序 据我所知 从 1 2 5 版本 发布时的当前版本 开始 不可能
  • 如何在函数中编写函数(list_map)

    你好 我最近问了一些关于C中链表的问题 链接是在这里找到的 https stackoverflow com questions 2106691 c issue cant figure how to assign pointer to beg
  • 何时以及为何使用一组 Executor

    我一直在阅读 Android 文档中有关 Executor 的内容 如果我理解正确的话 它用于多线程管理 并且它会为您完成一些工作 例如在需要时生成新线程 或者您可以选择自己管理事情 在下面的示例中 使用一组执行器而不是一个执行器 所以它就
  • 如何在Python中更新字典中键的值?

    我有一本代表书店的字典 键代表书名 值代表当前书籍的份数 当书籍从商店出售时 书籍的册数必须减少 我编写了一个代码来减少已售书籍的副本数量 但是在更新后打印词典时 我得到的是初始词典 而不是更新后的词典 n input Enter numb
  • 使用端口 Ping ip,不返回任何内容,PHP/APACHE

    我正在使用以下命令来获取 IP 或域的状态 我如何 ping 端口 80 提供端口后 根本不返回任何内容 尝试通过 80 和 80 将其添加到末尾 任何想法表示赞赏 如果您想要了解给定主机是否接受端口 80 上的 TCP 连接 您可以这样做
  • Android Studio 找不到 AndroidManifest.xml

    我正在使用 Android Studio v0 2 x 我刚刚创建了一个具有默认设置的新应用程序 File gt 新项目 gt 然后一步步进行 当我构建它时 它失败了 日志是 Android 源生成器 MyApplication Andro
  • Maven 版本控制和发布 GIT 存储库

    我在一个 GIT 存储库中有多个 Maven 项目 我想对 Maven 项目执行单独的发布 将发布版本推送到 Nexus 跳过标记并增加快照和提交 使用的 Maven 发布目标 release clean release prepare r
  • Android - 无法打开 zip 存档

    我正在从网络下载 apk 文件并将其存储到 Context getCacheDir 中 我正在通过 HttpURLConnection 下载文件 我实际上并没有询问代码 它完全正常工作 所以我不会将其发布在这里 我成功启动下载 文件被下载到
  • 将频率表合并到单个数据框中

    我有一个列表 其中每个列表项都是一个词频表 该表是通过在不同的示例文本上使用 table 而派生的 因此 每个表的长度不同 我现在想将列表转换为单个数据框 其中每列都是一个单词 每行都是示例文本 这是我的数据的虚拟示例 t1 lt tabl
  • RSpec 错误“未初始化常量 FactoryGirl(名称错误)”

    我尝试运行 RSpec 测试 rspec comments rb 但不断收到相同的错误 见标题 在有人问之前我已经添加了require factory girl到spec helper rb 的内容spec factories commen
  • 为什么我无法在 Raspberry Pi 上安装任何带有 GHC 7.8.4 的软件包?

    根据这个帖子 http www reddit com r haskell comments 35bw0b at last debian unstable has working arm ghci and 终于有一个支持模板 haskell
  • ASP.Net MVC 3.0 Ajax.ActionLink Onbegin 函数 true 执行操作?

    我有一个 Ajax Action 链接 它将调用一个 action 方法 在我的 Ajax 选项中 我调用了一个验证函数 如果这个函数返回 true 那么只有我想要执行此操作 不知道如何完成此操作 我的 Ajax ActionLink Aj
  • android 未加载广告时使用空间

    我正在尝试在我的应用程序中添加 admob 广告 但是当我没有连接到互联网时 那里的空间太空了 我希望添加在加载后出现 直到广告空间应由其余元素利用 该怎么办 我的活动文件如下 MainActivity java package com t
  • LL(1) 不能有歧义

    如何证明 LL 1 文法不能是二义性的 我知道什么是二义性语法 但无法证明上述定理 引理 这是我的校样初稿 它可能需要一些微调 但我认为它涵盖了所有情况 我认为许多解决方案都是可能的 这是一个直接的证明 旁注 遗憾的是 SO 不支持数学 例
  • 在字符串中使用希伯来字符

    我想在 R 的字符串中使用希伯来字符 我使用了以下内容 gt a lt c gt a 1 gt class a 1 character 可以看出 当我输出字符串内容或使用任何函数时 我会得到 Jibbrish 如何使用希伯来语字符 感谢所有
  • 高效适配器有java.lang.ClassCastException吗?

    看完后here http www google com events io 2009 sessions TurboChargeUiAndroidFast html我尝试实现自己的高效适配器 我的 ViewHolder 类几乎相同 stati