ListView 滚动混乱

2024-03-03

我扩展了基本适配器 --- 我遇到了一些奇怪的问题...当我滚动此列表视图时 -- 我的最后一个项目被第一个项目替换,下次当我滚动时 - 另一个项目等等......有时它是正确的。 .为什么这段代码会发生这种情况?

@Override
    public View getView(final int position, View convertView, ViewGroup parent) {
        // sets the view onto list view
        LinearLayout rowLayout = null;

        System.out.println("getView " + position + " " + convertView);
        rowLayout = (LinearLayout) mInflater.inflate(
                R.layout.apps_list_row_items, parent, false);
        if (convertView == null) {
            // inflating the row

            vh.mAppIcon = (ImageView) rowLayout.findViewById(R.id.icon);
            vh.mAppName = (TextView) rowLayout.findViewById(R.id.application);

            vh.mAppHint = (TextView) rowLayout.findViewById(R.id.hint);

            mDownloadButton = (Button) rowLayout.findViewById(R.id.download);
            mDownloadButton.setFocusable(false);

        } else {
            // convertView.getTag();
            rowLayout = (LinearLayout) convertView;
        }
        // convertView.getTag();

        // On Click of the download button which triggers an async to download
        // the file.


        mIcon = mAppIconMapList.get(position);
        System.out.println("Icon " + mIcon);
        mCurrentApplication = mAvaiableApps.get(position);
        System.out.println("Current App " + mCurrentApplication);
        vh.mAppIcon.setImageBitmap(mIcon.get(mCurrentApplication));
        vh.mAppName.setText(mCurrentApplication.replace(".apk", ""));
        vh.mAppHint.setText("Click here to view Description");

        return rowLayout;
    }

问题是列表适配器有时会重用行。如果您想解决此问题,请删除以下内容:

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

ListView 滚动混乱 的相关文章

  • 关于android Sqlite在多进程情况下的安全性

    在我的应用程序中 存在多个进程 并且在每个进程中 我需要访问同一个SQLite数据库 当然 这意味着超过2个线程 所以我不仅担心SQLite的线程安全性 还担心SQLite的线程安全性 还有过程安全 这种情况的一种解决方案是使用内容提供者
  • 不支持动态值作为注释中的属性 - AspectJ Android [AOP Android]

    我正在使用自定义注释来记录用户单击的 id 但我收到一个错误 属性值必须是常量 我的代码片段如下 mAssetId Asset getContentId TrackEvent track event ArrayParams Params k
  • 应用程序启动时立即隐藏导航栏

    基于以下代码片段 我能够隐藏状态栏当应用程序启动时 但不是导航栏 由后退 主页和任务管理器按钮组成的栏 因为它隐藏了稍后在 MainActivity 的线程完成加载后 这是清单
  • Android ACTION_DATE_CHANGED 广播

    我有 Nexus S 当我在手机上手动更改日期时 ACTION DATE CHANGED 并不总是被广播 如果我将日期从 2014 年 2 月 13 日更改为 2014 年 2 月 14 日 我还没有获得 ACTION DATE CHANG
  • 将文本视图包裹在图像视图周围

    晚上好 我正在尝试将文本包裹在图像视图中 就像这里提出的问题一样 Textview 环绕 View https stackoverflow com questions 3626750 textview wrap around view 在风
  • 要在进程中运行 dex,Gradle 守护进程需要更大的堆。目前有 910 MB

    实际上主要错误是 java exe完成非零退出值 1 首先我告诉你安装 studio 后遇到的每个问题 三天前 我刚刚安装了 android studio 并创建了新项目 1 首先它抛出错误 插件太旧 请更新到更新的版本 在谷歌上搜索后我改
  • 尝试使用掩码裁剪位图会抛出 IllegalArgumentException:

    我正在使用以下代码 public void cropSelection Bitmap bitmap annotationBitmap copy annotationBitmap getConfig true Canvas canvas ne
  • 在 doInBackground 方法中启动活动

    在下面的代码中 我从互联网下载 json 并希望显示在列表中 如果列表为空 则转到另一个活动 但其他活动未启动 没有错误 但没有启动活动 感谢您的帮助 package ir mohammadi android nightly import
  • 如何从另一个应用程序向一个应用程序添加视图

    我的应用程序叫做我的好应用 MyNiceApp 主要只是一个加载视图的核心coreView在主活动中onCreate coreView由用户根据需要下载的其他插件的视图填充 我定义了核心视图上的各个区域 这些区域可以通过 MyNiceApp
  • Android Activity 和 Service 关系 - 暂停后、停止后

    假设创建了 Activity A 然后 A 启动了一个 Service S 并将其自身绑定到 S S 通知 A 更新 这将导致 A 的状态发生变化 Android 暂停或停止 A 后 A 和 S 会发生什么 例如 暂停 A 是否会自动解除它
  • 在android中以编程方式创建布局 - 问题

    我正在使用以下代码动态创建 FrameLayout mylayout java FrameLayout layout new FrameLayout this FrameLayout LayoutParams layoutparams ne
  • 如何设置上拉刷新SwipeRefreshLayout

    我看到很多 ListView 下拉刷新的库 但是当从上到下拉动时它们是工作的 但是从下到上拉动时我如何刷新 我可以用这个做吗滑动刷新布局 http developer android com reference android suppor
  • 无法调整 Android React Native 模块中线性布局子项的大小

    完整代码在这里 https github com sbaar ResizableLLRN 这里有关于 java 中正确行为和 React Native 中错误行为的视频 https drive google com file d 0Bxl2
  • EditText 不显示当前输入(Android 4)

    我的 Android 应用程序包含一个EditText http developer android com reference android widget EditText html查看可以在其中键入一些短消息 单行 按键盘的DONE键
  • 上次更新arm64-v8a后,模拟器在M1 Mac上显示离线

    昨天模拟器运行得很好 系统镜像为arm64 v8a 我不太记得工作系统映像的版本名称 但是昨天我接受了 ARM 64 系统映像的更新 版本名称是 S 我可以从 AVD 管理器启动模拟器 当我按 运行应用程序 按钮时模拟器也会启动 但是 该应
  • Android Windows:它们何时以及如何创建?

    我已经阅读了标准的 Windows 相关文档并翻阅了 一堆源代码 试图理解 Android 如何以及何时 窗口已创建 我相信我已经拥抱它并愿意 对其进行验证或更正 据我所知 只有两种方法可以获得 Window 对象的句柄 1 Activit
  • Activity 上的 OnTouchListener 从不调用

    我使用了这段代码 但是当我在运行时单击活动时 它永远不会在 OnTouch 方法中命中 有人可以指导我我做错了什么吗 我需要设置此活动的内容视图吗 实际上我想要用户在执行过程中触摸的活动的坐标 public class TouchTestA
  • Android 可扩展 GridView 就像 Google 图像一样

    我想创建可扩展的 GridView 其行为类似于 Google 图像页面 我想知道如何实现这样的功能 当我单击其中一张图像时 页面会展开并显示图片的详细信息 Android 中是否可以做类似的事情 Images grid Expanded
  • 随着速度变化,速度表针规绕其中心旋转

    Hi all 我编写了一个应用程序 其中有一个速度计 其指针垂直设置为 90 度 我试图以每秒变化的速度绕其中心旋转指针 我在文本视图中显示变化的速度 从 0 到 120 随机 我正在从远程服务获取速度并显示在文本视图中 因此 当速度发生变
  • 动画结束后更改视图位置

    我开发了一个基于ViewGroup我的问题是我需要在动画结束后保存项目的位置 我打了电话setFillAfter true 在我创建的动画对象中AnimationListener并在其中onAnimationEnd方法调用View layo

随机推荐

  • Java ProcessBuilder:引号内有空格

    我正在使用 ProcessBuilder 运行 FFMPEG 来转换和标记我的一些 MP3 文件 在 bat 文件中手动使用以下内容可以按预期工作 E Dokumente workspace MusicBot ffmpeg bin ffmp
  • 使用scrapyd部署项目出错

    我的项目文件夹中有多个蜘蛛 并且希望立即运行所有蜘蛛 因此我决定使用 scrapyd 服务运行它们 我开始这样做是因为看到here http scrapy readthedocs org en 0 7 topics scrapyd html
  • Django - URL 模式正则表达式不匹配带重音的字符串参数

    我在将带重音符号的字符串参数传递到 Django 应用程序时遇到一些问题 我有以下网址模式 url r galeria P
  • openpyxl - 覆盖数据表并保留数据透视表

    我已经看到了这个问题的一些答案 但没有一个有效 例如 如何使用 openpyxl 写入现有 Excel 文件而不破坏公式 https stackoverflow com questions 20262448 how to write to
  • 如何关闭selenium运行时弹出的窗口?

    我想关闭弹出窗口 已知窗口名称 然后返回到原始窗口 我该怎么办 如果我无法获得窗口中关闭按钮的常量 那么有什么一般行为可以达到目标吗 使用WebDriver 用Java显示 你可以做这样的事情 instantiate your driver
  • .NET 中“托管”资源与“非托管”资源是什么意思?

    NET 中术语托管资源和非托管资源是什么意思 他们是如何出现的 术语 非托管资源 通常用于描述某些事物不直接受垃圾收集器控制 例如 如果您打开到数据库服务器的连接 这将使用服务器上的资源 用于维护连接 以及客户端计算机上可能的其他非 net
  • Integer.Parse 与 CInt

    基本上这两个我都用过Integer Parse and CInt https msdn microsoft com en us library s2dy91zy aspx在我的大多数日常编程任务中 但我对两者之间的区别有点困惑 有什么区别I
  • 跨子域的 ASP.NET 身份 Cookie

    对于表单身份验证 我在 web config 中使用了它 注意域属性
  • 使用 golang.org/x/oauth2 进行 golang Facebook 身份验证

    我正在尝试使用以下方法编写一个简单的程序golang org x oauth2包裹 但我似乎无法用代码交换访问令牌 以下错误有点误导 因为它表示授权代码已被使用 但每次调用登录对话框时我都会看到一个新代码 我是 golang 新手 我可能会
  • 诊断“请求超时”HttpExceptions 有进展吗?

    我遇到了与这篇文章中描述的相同的问题 诊断 请求超时 HttpException https stackoverflow com questions 441792 diagnosing request timed out httpexcep
  • 如何在 jqGrid 处理之前更改从服务器接收的数据

    我想要实现的场景 我从服务器检索一些数据 我循环数据并添加 更改某些字段的值 数据显示在网格中 用户在本地编辑数据 完成后 用户将整个网格数据提交到服务器 我如何尝试实现它 我做了一个 jqGridloadonce true editurl
  • 按优先级和组值对结果进行排序,然后过滤结果

    这是我的 DynamoDB 当前数据 我的目标是创建一个查询 该查询过滤组集中的结果 类似于 默认 然后按优先级排序 然后将结果过滤到loggedIn true和status idle的结果 在 SQL 中它会是这样的 SELECT FRO
  • 如何使用 JavaScript 防止屏幕休眠

    我有一个用例 我们不希望正在进行测试的用户在测试时睡眠超时 即 3 小时 我正在查看 nosleep js 但我遇到了 cpu 过度使用问题 因为它在 Windows 中无法工作 我想知道考试应用程序是如何做到这一点的 以及 YouTube
  • 如何在詹金斯中替换摩卡UTF8复选标记符号

    当我在詹金斯中运行摩卡测试时 在控制台输出上我可以看到 而不是 检查标记 utf 8 字符 如何将这些符号替换为人类可读的格式 修改默认报告者 最简单的方法 修改默认报告者 https github com mochajs mocha bl
  • 如何在 Java 中对 Hive 进行异步调用?

    我想以异步方式在服务器上执行 Hive 查询 Hive 查询可能需要很长时间才能完成 因此我不想阻止调用 我目前正在使用 Thirft 进行阻塞调用 在 client execute 上阻塞 但我还没有看到如何进行非阻塞调用的示例 这是阻止
  • 图片来自流问题

    我在从流创建图像时遇到问题 在我的 Windows 电脑上 它分叉得很好 在 ubuntu 服务器上 它抛出一个错误 System ArgumentException A null reference or invalid value wa
  • WPF MenuItem.Icon 尺寸

    所以我有一个 MenuItem 在 ContextMenu 中 如果它确实有影响 我不认为它有影响 我想使用 MenuItem Icon 属性在 MenuItem 中显示图标 下面是执行此操作的 XAML 代码
  • HttpClient PCL Cookie 未应用于请求

    我使用 NET HttpClient for PCL 2 2 15 作为跨 Windows Phone 8 Windows 8 和 NET 4 5 的通用库 但是 我没有看到 cookie 被应用于请求 我使用以下代码设置 HttpClie
  • 这段代码是什么意思“ofstream fout(getenv("OUTPUT_PATH"));”

    我对 cpp 还是个新手 如果有人能帮助我理解这行代码 我将不胜感激 ofstream fout getenv OUTPUT PATH 这段代码我几乎看到了每一个 Hackerrank 挑战 这段代码的目的是什么 我说 当有疑问时 简化 当
  • ListView 滚动混乱

    我扩展了基本适配器 我遇到了一些奇怪的问题 当我滚动此列表视图时 我的最后一个项目被第一个项目替换 下次当我滚动时 另一个项目等等 有时它是正确的 为什么这段代码会发生这种情况 Override public View getView fi