HeaderViewListAdapter 随机崩溃

2024-01-04

我在 crashlytics 中遇到随机崩溃,但无法模拟它。它在 Android V2 和 V4 上都会随机崩溃,但是非常非常罕见:

java.lang.IndexOutOfBoundsException: Invalid index 3, size is 0
   at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:257)
   at java.util.ArrayList.get(ArrayList.java:311)
   at android.widget.HeaderViewListAdapter.getView(HeaderViewListAdapter.java:225)
   at android.widget.AbsListView.obtainView(AbsListView.java:1498)
   at android.widget.ListView.makeAndAddView(ListView.java:1749)
   at android.widget.ListView.fillSpecific(ListView.java:1294)
   at android.widget.ListView.layoutChildren(ListView.java:1580)
   at android.widget.AbsListView.onLayout(AbsListView.java:1349)
   at android.view.View.layout(View.java:7320)
   at android.widget.FrameLayout.onLayout(FrameLayout.java:342)
   at android.view.View.layout(View.java:7320)
   at android.widget.FrameLayout.onLayout(FrameLayout.java:342)
   at android.view.View.layout(View.java:7320)
   at android.widget.FrameLayout.onLayout(FrameLayout.java:342)
   at android.view.View.layout(View.java:7320)
   at android.support.v4.widget.DrawerLayout.onLayout(DrawerLayout.java:801)
   at android.view.View.layout(View.java:7320)
   at android.widget.FrameLayout.onLayout(FrameLayout.java:342)
   at android.view.View.layout(View.java:7320)
   at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1263)
   at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1137)
   at android.widget.LinearLayout.onLayout(LinearLayout.java:1051)
   at android.view.View.layout(View.java:7320)
   at android.widget.FrameLayout.onLayout(FrameLayout.java:342)
   at android.view.View.layout(View.java:7320)
   at android.widget.FrameLayout.onLayout(FrameLayout.java:342)
   at android.view.View.layout(View.java:7320)
   at android.view.ViewRoot.performTraversals(ViewRoot.java:1162)
   at android.view.ViewRoot.handleMessage(ViewRoot.java:1882)
   at android.os.Handler.dispatchMessage(Handler.java:99)
   at android.os.Looper.loop(Looper.java:130)
   at android.app.ActivityThread.main(ActivityThread.java:3701)
   at java.lang.reflect.Method.invokeNative(Method.java)
   at java.lang.reflect.Method.invoke(Method.java:507)
   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:624)
   at dalvik.system.NativeStart.main(NativeStart.java)

索引 3 无效,大小为 0- 索引在 crashlytics 中是随机的。 我在片段中使用带有页眉和页脚的 ListView 。

In 创建视图时:

mSearchBox = inflater.inflate(R.layout.search_box, mListView, false);
mListView.addHeaderView(mSearchBox, null, false);
mListView.setAdapter(mAdapter);
mAdapter.notifyDataSetChanged();

我使用 ListView 中的标题作为 EditText 在 ListView 中进行搜索(特意是因为我希望 EditText 可以随列表视图内容一起滚动)。我还使用 addFooterView 来显示加载程序(当加载列表中的下一个项目时)。

您可以查看 HeaderViewListAdapter 第 225 行(GrepCode http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.4.4_r1/android/widget/HeaderViewListAdapter.java/#224):

public View getView(int position, View convertView, ViewGroup parent) {
// ...
// ... code
// ...

// Footer (off-limits positions will throw an IndexOutOfBoundsException)
return mFooterViewInfos.get(adjPosition - adapterCount).view;
}

EDIT:我找到了类似的 stackoverflow 线程,但这对我没有帮助:列表视图的索引越界异常 https://stackoverflow.com/questions/6950069/indexoutofboundsexception-with-listview看起来 android ListView 在使用带有片段的 ListView 中的页眉或页脚时有点问题。


在清除适配器之前,我必须在列表视图上设置空适配器:

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

HeaderViewListAdapter 随机崩溃 的相关文章

随机推荐

  • 我们可以使用 match 来检查类的类型吗

    我是 scala 新手 我正在学习match现在关键字 我想知道我们是否可以使用关键字match检查类的类型 我的代码是 object Main def main args Array String val x AA checkType x
  • Java EE/JPA 向数据库添加新表/实体的方法

    我有一个mysql数据库 我想添加向数据库添加新表的功能 我可能可以轻松找到 JPQL 的示例 但是如何自动为这个新表生成实体 以便我可以在 JPA 代码的其余部分中引用它 以便从表中更新和删除我通常引用该实体不是实际的表本身 我现在拥有的
  • 如何在 Windows 上使用 PyInstaller 创建 Linux 和 MacOS 可执行文件?

    我使用 Pyinstaller 从 python 代码制作了一个独立的 Windows 便携式应用程序 并且它工作正常 我知道要为某个操作系统创建可执行文件 必须在该特定操作系统上完成 有没有一种方法可以直接从 Windows 创建适用于其
  • 阻止 TFS 添加临时文件

    我正在开发一个在 TFS 中绑定的项目 该项目为我提供了一个文件夹 Log 当我执行我的项目并进行一些测试时 它会生成文本文件并存储在 Log 文件夹中 之后 当我尝试签入文件时 这些文件将作为 TFS 中的新文件签入 我希望 TFS 排除
  • python 将 10 位日期时间戳转换为 13 位 GMT 时间戳 [重复]

    这个问题在这里已经有答案了 我从像这样的服务器收到时间戳 1512543958 当我在标头中发回请求时 我看到像这样的 13 位 GMT 时间戳 1512544485819 通过使用下面的代码将时间更改为本地时间 我得到2017 12 06
  • 无状态 Web 应用程序,都市传奇?

    我试图理解token based authentication这些天 它声称是stateless authentication方法 我遇到了这个概念stateless web application 以下是我读到的一些主题 使用 Sprin
  • Ionic4 未知浏览器查询

    我已经练习了很多 Ionic 所以这些问题对我来说并不新鲜 但我无法解决这个问题 我目前正在尝试将我的 Ionic3 项目迁移到 Ionic4 为此 我创建了一个新的 Ionic4 选项卡项目 每次我尝试 Ionic 服务命令时 我都会得到
  • 如何在浏览器客户端使用nunjucks宏?

    当我从 node js 预编译并公开 JS 模板文件时 我可以使用 nunjucks 的客户端模板 我这样称呼客户端模板 nunjucks render partials some template html abc 123 并拿回一根绳子
  • 2.10 中 Scala REPL breakIf 的替代方案

    我正在读书here https stackoverflow com questions 2160355 drop into interpreter during arbitrary scala code location关于使用breakI
  • IE7清除浮动问题

    您好 这是我在使用 IE7 时遇到的问题的简化版本 基本上 清除的 div 绿色 之后的 div 不会按预期运行 在 IE7 中 它在 Safari FF 等和 IE8 中按预期工作 有人有任何修复建议吗 谢谢你的帮助
  • Angular Material 更改应用程序背景和前景主题

    这个问题 https stackoverflow com questions 43919927 关于在 Angular Material 中设置背景颜色的问题于 2017 年发布 答案已过时 最新版本的 Angular Material 1
  • JPQL:将 varchar 转换为数字

    如何将 varchar 转换为 JPQL 中的数字 我设法在 sql Oracle 中使用以下查询来做到这一点 SELECT Decode Upper column name Lower column name To Number colu
  • 处理 argparse 冲突

    如果我导入一个Pythonmodule https github com paulcalabro api kickstart blob master examples python config py已经在使用argparse 但是 我想用
  • 按具有自定义排序优先级的列对数组的数组进行排序(不按字母顺序)

    假设我有这个数组 array array array id gt 7867867 animal gt Dog array id gt 3452342 animal gt Lion array id gt 1231233 animal gt
  • PySpark:当列是列表时向 DataFrame 添加列

    我读过类似的问题 但找不到解决我的具体问题的方法 我有一个清单 l 1 2 3 和一个数据框 df sc parallelize p1 a p2 b p3 c toDF product name 我想获得一个新的 DataFrame 其中列
  • struts 2 中的 beans 属性和 modelDriven

    我是 struts 2 的新手 我创建了一个操作类 它使用以下命令将数据从 JSP 页面插入到 beanModelDriven界面 问题是我有一些非 字符串 properties in the bean likeLong 日期 等 问题是
  • Chrome 多次发送请求

    我有一个 Rails 3 应用程序 刚刚注意到当使用 Chrome 在 Mac 上 访问该应用程序时 网站上的每个页面都会被请求两次 这发生在开发和生产中 Heroku Firefox 和 Safari 仅发送一次请求 即使我删除该操作的所
  • Pandas:将一系列字典保存到磁盘

    我有一个 python pandas 系列词典 id dicts 1 5 1 8 20 1800 2 2 2 2 8 1 1000 25 1651 1 20000000 2 1 10 20 字典中的 key value 代表 feature
  • Ant 公然忽略 JAVA_HOME 环境变量

    我刚刚获取了最新版本的 Android SDK 并开始尝试使用它 与几乎其他人提出这个问题不同 我运行的是 Linux 即 Linux Mint 13 我目前正在尝试使用 ant 编译一个 Hello World 程序 通过安装 sudo
  • HeaderViewListAdapter 随机崩溃

    我在 crashlytics 中遇到随机崩溃 但无法模拟它 它在 Android V2 和 V4 上都会随机崩溃 但是非常非常罕见 java lang IndexOutOfBoundsException Invalid index 3 si