火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 1989|回复: 7
打印 上一主题 下一主题

[安卓] 简单列表框 循环插入项目直接崩溃

[复制链接]

3

主题

26

帖子

129

积分

注册会员

Rank: 2

积分
129
跳转到指定楼层
楼主
发表于 2022-9-25 13:24:55 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

多个线程 循环插入项目 导致崩溃

第一个错误:
java.lang.NullPointerException: Attempt to invoke virtual method '长整数 java.lang.Long.longValue()' on a null object reference
<D:\win_android\win_android\plugins\vprj_android\classlib\sys\android\base\a_ctrl_adapter.v>, 53: 错误: 位于 hsh.anzh.jb.适配器基础类.getItemId
<D:\win_android\win_android\plugins\vprj_android\classlib\sys\android\base\a_win.v>, 253: 错误: 位于 hsh.anzh.jb.窗口.dispatchTouchEvent

第二个错误:
java.lang.IllegalStateException: The content of the adapter has changed but ListView did not receive a notification. Make sure the content of your adapter is not modified from a background thread, but only from the UI thread. Make sure your adapter calls notifyDataSetChanged() when its content changes. [in ListView(2131034116, class hsh.anzh.jb.安卓自定义列表) with Adapter(class hsh.anzh.jb.简单列表适配器)]
<D:\win_android\win_android\plugins\vprj_android\classlib\sys\android\base\a_win.v>, 253: 错误: 位于 hsh.anzh.jb.窗口.dispatchTouchEvent

安卓的感觉太不稳定了,很容易崩溃掉,注释也是云雾缭绕 很随意很多没有启示意义 ,似乎有劝返的意图,要么急有所成
回复

使用道具 举报

439

主题

1万

帖子

3万

积分

超级版主

Rank: 8Rank: 8

积分
36927
沙发
发表于 2022-9-25 13:43:19 | 只看该作者
因为你的用法不对,你也补贴代码,不上传一个测试例子。。
用法不对自然就崩了。。
安卓无障碍实战课:点击查看
交流群:641526939
回复

使用道具 举报

3

主题

26

帖子

129

积分

注册会员

Rank: 2

积分
129
板凳
 楼主| 发表于 2022-9-25 14:03:26 | 只看该作者
本帖最后由 lwy1314 于 2022-9-25 14:09 编辑


编辑框的内容分割成数组,有几个数组成员 就创建几条线程来调用这个方法,最后简单列表框插入项目中就崩溃掉了
回复

使用道具 举报

11

主题

115

帖子

616

积分

高级会员

Rank: 4

积分
616
地板
发表于 2022-9-25 14:08:47 | 只看该作者
如果你用多线程来操作组件,那崩溃是非常正常的。
回复

使用道具 举报

3

主题

26

帖子

129

积分

注册会员

Rank: 2

积分
129
5#
 楼主| 发表于 2022-9-25 14:12:49 | 只看该作者
fan15500 发表于 2022-9-25 14:08
如果你用多线程来操作组件,那崩溃是非常正常的。

不直接操作组件,使用保存读取方法吗
回复

使用道具 举报

11

主题

115

帖子

616

积分

高级会员

Rank: 4

积分
616
6#
发表于 2022-9-25 14:22:24 | 只看该作者
lwy1314 发表于 2022-9-25 14:12
不直接操作组件,使用保存读取方法吗

一般多线程操作同一个东西,就可能会争抢。所以 你要么分开,最后和一起。要么加锁。等一个操作完再弄另一个。如果你的数据量不是很大,其实单线程就够了。
回复

使用道具 举报

3

主题

26

帖子

129

积分

注册会员

Rank: 2

积分
129
7#
 楼主| 发表于 2022-9-25 14:53:07 | 只看该作者
单线程插入项目也是崩溃,大概加载不到200行的项目数 就崩溃了

回复

使用道具 举报

439

主题

1万

帖子

3万

积分

超级版主

Rank: 8Rank: 8

积分
36927
8#
发表于 2022-9-25 20:45:03 | 只看该作者
lwy1314 发表于 2022-9-25 14:53
单线程插入项目也是崩溃,大概加载不到200行的项目数 就崩溃了

发例子出来,给你改改。
安卓无障碍实战课:点击查看
交流群:641526939
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-6-2 00:24 , Processed in 0.091755 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表