如何在线程中使用notifyDataSetChanged()

2024-02-03

我创建一个线程来更新我的数据并尝试这样做notifyDataSetChanged在我的列表视图中。

private class ReceiverThread extends Thread {

@Override
public void run() { 
    //up-to-date
    mAdapter.notifyDataSetChanged();
}

错误发生在以下行:

mAdapter.notifyDataSetChanged();

Error:

12-29 16:44:39.946: E/AndroidRuntime(9026): android.view.ViewRoot$CalledFromWrongThreadException: 只有创建视图层次结构的原始线程才能触摸其视图。

我应该如何修改呢?


Use runOnUiThread()从非 UI 线程执行 UI 操作的方法。

private class ReceiverThread extends Thread {
@Override
public void run() { 
Activity_name.this.runOnUiThread(new Runnable() {

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

如何在线程中使用notifyDataSetChanged() 的相关文章

  • 如何为 Android 创建我们自己的 PDF 查看器?

    我想构建一个可在我的 Android 应用程序中使用的 PDF 阅读器 查看器 但我无法使用 Google 文档来阅读我的内容 我无法使用我的设备中已安装的任何 PDF 阅读器 它应该位于我的应用程序内 并且不会通过互联网公开我的安全内容
  • 如何自定义 Firebase 身份验证 ui

    我正在使用 Firebase Auth Ui 进行号码验证 我有一些要求 需要更改国家旋转器下拉项目的文本和背景颜色 我正在使用下面的样式 但它不会改变下拉菜单的背景颜色或项目的文本颜色 style name FirebaseUI Coun
  • 当活动被破坏时如何保存状态

    public class Talk extends Activity private ProgressDialog progDialog int typeBar TextView text1 EditText edit Button res
  • 在 ubuntu 中找不到 .android 文件夹 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我在哪里可以找到 android在 Ubuntu 中 我想使用debug keystore 转到您的主文件夹并按 ctrl h 瞧
  • Android Toast 消息不起作用

    我正在通过 Andengine 为 Android 开发游戏 我有 MainActivity 类和 GameScene 类 我在 GameActivity 中使用 Toast 消息 它正在发挥作用 Toast makeText this H
  • 由于现有相机用户,相机“0”的手电筒不可用

    我想创建一个应用程序 它有一个用于录制视频的按钮和另一个单独的切换按钮 用于在录制视频期间打开闪光灯 我已经使用camera2 API为最近的androids构建了相机应用程序 可以通过图像按钮访问 我将火炬模式设置为切换按钮 但这根本不起
  • animation.start() 或animation.startNow() 不会立即开始动画

    我有一个奇怪的问题 有时应该淡出我的控件 ImageButton 的动画不会立即启动 我使用淡出动画来隐藏它 然后在 myListener 的末尾 onAnimationEnd 中 我将新资源作为按钮上的图像 我的应用程序代码中的某处 An
  • Android 中是否可以使用滑动视图导航的刻度线?

    我想在 Android 应用程序中创建一组页面 这些页面可以水平滑动并使用刻度线来指示当前页面在我拥有的 12 个页面集中的位置 Android 设计文档中提到了像这样使用刻度线的设计模式 http developer android co
  • adb 今天无法连接到 VirtualBox 中的 Android-x86

    我在 VirtualBox 中成功安装了 Android x86 v3 2 eeepc 一段时间 这是帮助我在 Android 上调试 USB 主机应用程序的好方法 此类配置的安装是 安装VirtualBox 将 Android x86 v
  • 可以用 Django 制作移动应用程序吗?

    我想知道我是否可以在我的网站上使用 Django 代码 并以某种方式在移动应用程序 Flutter 等框架中使用它 那么是否可以使用我现在拥有的 Django 后端并在移动应用程序中使用它 所以就像models views etc 是的 有
  • 绘制平滑曲线

    我想创建更平滑的曲线 而不仅仅是线角 这是我现在画的图 这是我的代码 case FREEHAND float pts float ptk ptk new float 2 imageMatrix invert inv if mCurrentS
  • 作为 ViewPager 的一部分更新 ListFragment 中的数据

    我在 Android 中使用 v4 兼容性 ViewPager 我的 FragmentActivity 有一堆数据 这些数据将以不同的方式显示在我的 ViewPager 的不同页面上 到目前为止 我只有同一个 ListFragment 的
  • Google Wallet for Digital Goods API 与 Google Play 应用内结算

    想知道 Google 电子钱包结算 API 和 Google Play 应用内结算之间有什么区别 与 Google 电子钱包结算 API 相比 使用 GooglePlay 应用内购买结算服务有何优势 我看到 Wallet API 也支持 A
  • Android - 在图像/缩略图上覆盖播放按钮的最佳方式

    我有一个 Android 应用程序 可以播放音频 视频并显示图片 对于视频 我想在预览图像顶部以及列表视图中叠加一个播放按钮 现在我的做法是使用 xml 中的 ImageView 然后可绘制对象是一个图层图层列表 我以编程方式定义它 因为其
  • Android 应用程序不需要任何特殊访问权限

    当我开始安装时myapp apk 我得到下面的屏幕 我的应用程序需要位置 外部存储权限 上述权限应该根据需要向用户请求 即在需要这些权限的代码之前 现在 当安装应用程序时 我会看到一个屏幕 上面显示应用程序不需要任何特殊访问权限 如下图所示
  • 如何将AVFrame转换为glTexImage2D使用的纹理?

    如您所知 AVFrame 有 2 个属性 pFrame gt data pFrame gt linesize 当我从视频 sdcard test mp4 android平台 读取帧后 并将其转换为RGB AVFrame副 img conve
  • Dart/Flutter 如何编译到 Android?

    我找不到任何具体的资源 Dart 是否被编译到 JVM 或者 Google 的团队是否编译了 Dart VM 以在 JVM 上运行 然后在 JVM 内的 Dart VM 中运行 Dart 前者更有意义 并且符合 无桥 的口号 但后者似乎更符
  • 我想要有条件的登录导航,没有 MAIN 片段或按钮

    我正在使用 Android Jetpack 导航组件 实时数据和 Firebase 我希望工作流程就像用户打开应用程序时一样 然后根据登录 注销状态导航到登录 配置文件片段 而不需要任何主片段或按钮 请 我的应用程序中没有主要片段 用户启动
  • PhoneGap Build Android 不显示闪屏

    这是我的 config xml 中与启动屏幕相关的代码
  • 使用部分字符串匹配进行 Firebase 查询[重复]

    这个问题在这里已经有答案了 假设我有一个简单的 firebase 实时数据库结构 其中关键是username其值为userid 现在我想搜索userid by username 如果用户名匹配 这很容易 但如何获得部分匹配的答案 更清楚地说

随机推荐

  • JAVA中使用jquery文件上传插件分块上传文件

    尝试使用blueimp JQuery文件上传插件用于上传大文件 大于 1 GB 发现使用maxChunkSize配置允许从客户端分块上传文件 我们可以使用服务器获取块大小和文件名Content Range Content Dispositi
  • 使用 tls-extra 进行简单的 smtp

    我正在尝试编写一个简单的脚本来通过我的 Gmail 帐户发送邮件 但我是初学者 所以事情没那么简单 我尝试了谷歌 但除了 hackage 根本没有任何帮助或示例 问题是我没有找到使用 tls extra 或 tls 来启动 STARTTLS
  • Django OS X 错误的 JPEG 库版本:库是 80,调用者期望 62 sorl.thumbnail

    我在 Mac 上本地使用 sorl thumbnail for django 并且在使用 PIL 时遇到了问题 但今天我终于成功安装了它 libjpeg 遇到了一些问题 我现在可以上传和使用图像 但我无法使用 sorl thumbnail
  • HTTP 下载非常大的文件

    我正在使用 Python Twisted 开发 Web 应用程序 我希望用户能够下载非常大的文件 gt 100 Mb 当然 我不想加载 服务器 内存中的所有文件 服务器端我有这个想法 request setHeader Content Ty
  • 将字符串添加到 List 列表

    我是 C 新手 我需要执行以下操作 我需要声明一个列表 List
  • 在nodejs工作线程内调用函数

    这是我的工人 const Worker require worker threads const worker new Worker function hello console log hello world eval true work
  • Apache tomcat7 作为 Windows 服务

    我正在尝试为 Apache tomcat 7 0 45 创建 Windows 服务 在 Windows 版本 7 中 我执行了这个 C tomcat7 bin gt service install Mytomcat7 Windows 服务已
  • 处理阻塞 .NET 套接字的超时

    使用 Accept 方法创建的 TcpClient 实例用于管理客户端连接 当我需要终止服务器线程时就会出现问题 因为它在接收调用时被阻塞 所以我设置了一个 TcpClient ReceiveTimeout 以便循环每个n毫秒来测试退出条件
  • 如何用python创建0年的日期时间对象

    正如标题所说 如果我尝试这样做 它会给我一个年份值的 ValueError 但我想要一个年份为 0 的日期时间 有什么方法可以做到这一点吗 从文档 datetime 模块导出以下常量 datetime MINYEAR 日期或中允许的最小年份
  • 使用 Office365 SMTP 设置 PHPMailer

    我正在尝试设置 PHPMailer 以便我们的一位客户能够从他们自己的帐户自动生成电子邮件 我登录了他们的Office 365帐户 发现PHPMailer所需的设置是 Host smtp office365 com Port 587 Aut
  • Doctrine 2.3 实体生成器:样本、文档?

    Doctrine 可以基于小数据输入生成实体 包括关系信息 但是 我未能找到有关该主题的任何示例或简明信息 官方文档只有一小段 有一个小的命令行示例 完全没有解释什么 任何人都可以参考这方面的书籍 文章甚至代码示例吗 首先你需要引导程序Do
  • 当键盘存在时,如何使 UITextField 向上移动 - 开始编辑?

    使用 iOS SDK 我有一个UIView with UITextField调出键盘 我需要它能够 允许滚动内容UIScrollView键盘打开后即可查看其他文本字段 自动 跳跃 通过向上滚动 或缩短 我知道我需要一个UIScrollVie
  • iPhone 开发 - 开发和分发配置之间有什么区别?

    我无法在苹果文档中找到关于两者之间区别的明确解释发展 and 分配供应 我目前正在使用开发配置在我的 iPhone 上进行开发和测试 我打算将该应用程序分发到我的 Beta 测试中 我想知道 我需要使用吗分配供应 我应该为每个单独的测试人员
  • Android:获取列中的最高值

    我有一个指向内容的 URL 我需要获取其中一列中包含的最高值 是否有任何聚合函数可以完成该任务 或者我必须手动执行此操作 如果您正在查询 Android 内容提供商 您应该能够通过传递来实现此目的MAX COLUMN NAME 进入选择参数
  • 运行脚本标签是否会阻止其他脚本标签的下载?

    这是来自索引 html in HTML5 样板 https github com h5bp html5 boilerplate blob master index html 就在之前 tag
  • 如何在 C++ 中使用带有用户输入的枚举

    我正在制作一个简单的剪刀石头布游戏 我需要使用枚举数据结构 我的问题是 由于从 int userInput 到 Throws userThrow 的转换无效 我无法编译以下代码 enum Throws R P S int userInput
  • 如何启用 Qt5 中已弃用的功能

    我想将 Qt4 程序移植到 Qt5 并且某些函数未定义 例如 QHeaderView setMoveable 但我在 qheaderview h 文件中看到 通过一些神奇的定义 QT DEPRECATED SINCE 应该可以重新启用它们
  • 如何检查一个句柄是否应该关闭?

    如果 ShellExecuteEx 返回 false 是否应该关闭句柄 function EditAndWait const AFileName string boolean var Info TShellExecuteInfo begin
  • UILocalNotification 在 iOS 10 中已弃用

    这可能是一个提前的问题 但我想知道用什么代替UILocalNotification在 iOS 10 中 我正在开发一个具有部署目标 iOS 8 的应用程序 所以可以使用吗UILocalNotification 是的 您可以使用UILocal
  • 如何在线程中使用notifyDataSetChanged()

    我创建一个线程来更新我的数据并尝试这样做notifyDataSetChanged在我的列表视图中 private class ReceiverThread extends Thread Override public void run up