问题标签 [android-runonuithread]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
342 浏览

android - 无法在 runOnUiThread 中更改 UI

我想将 TextView 内容更改为线程中的计算结果,但在执行时崩溃。这是我的代码。


在此处输入图像描述

0 投票
2 回答
847 浏览

android - TextView setText 在 ScheduledExecutorService runOnUiThread 中不起作用

代码 :

我想每 1 秒更新一次 TextView 中的文本,但这似乎只适用于第一次,以后的文本不会更新。

有谁知道是什么问题??

0 投票
1 回答
588 浏览

android - 套接字 IO runOnUiThread 不起作用

我在套接字 io 中遇到 runOnUiThread 问题。我使用这个。我有一些事件的听众。如果我收到此事件,我会更改图像。但是当我得到事件图像时,我不明白为什么会这样。也许有人帮助或解释我做错了什么。提前致谢。这是我的代码

编辑!

套接字连接成功,我可以在日志中看到消息在线/离线。我也调试代码并且不显示错误。完整代码

}

0 投票
2 回答
1045 浏览

android - 应用警报对话框中所需的功能后,如何关闭我的进度对话框?

我的片段中有一个链接,显示“单击以打开对话框”,单击它后,会弹出一个警告对话框,显示“您要更改视图吗?” 带有是和否符号。如果我单击“否”,则不会发生任何事情,并且对话框会按预期消失。但是,如果我单击“是”,如何调用函数来刷新我的视图,直到刷新我的视图才会显示进度对话框?到目前为止,这是我的代码,我不知道在哪里关闭进度对话框或确保刷新视图,有什么线索吗?:

0 投票
1 回答
817 浏览

android - 重复运行 runOnUiThread() 导致异常

(2016.3.15 更新)

上周我遇到了一个奇怪的问题,我想和你讨论一下。

问题场景:</p>

AppCompatActivity 中有一个 searchView。每当文本发生变化时,Activity 中的 Fragment 都会通过“ getSupportFragmentManager().beginTransaction().replace(R.id.fragment_layout, fragment).commit();”替换。

在片段中,有一个名为 SearchThread 的线程,它将在onActivityCreated(). 言归正传,里面有getActivity().runOnUiThread(new Runnable{...})方法。不管“new Runnable()”里面是什么,当searchView的文本快速变化的时候都会出现NullPointerException,导致这个fragment频繁的重新建立。

日志猫

但是,如果我使用 sendMessage(searchHandler.obtain...) 而不是 runOnUiThread,一切都会顺利!!

GymFragment.Java:</p>

搜索活动.Java

解决方案:</p>

1) 注释掉"getActivity()...",改用注释掉的"sendMessage(searchhandler.obtain..)"。

2)在运行getActivity().runOnUiThread()之前,先判断getActivity()==null。


2016.3.14:

[一些有趣的事情:)]

  1. “runOnUiThread”的源代码

runOnUIThread(Runnable r)的源码:</p>

实际上,runOnUiThread 调用 mHandler.post(Runnable r)。

让我们看看 post(Runnable r) 中的内容:

而在getPostMessage(Runnable r)中:</p>

然后在Message.obtain()中:</p>

2.“sendMessage(Message msg)”源码:</p>

在这里我们可以看到,sendMessage(Message msg) 的实现几乎等同于 post(Runnable r) 的实现。差异可能与 getPostMessage(Runnable r) 有关。

所以,简而言之,当我同时执行时,实际导致正确执行 searchHandler.SendMessage(searchHandler.obtainMessage(0,str)),而导致 getActivity().runOnUiThread(new Runnable{...}) 异常的原因反复执行?非常感谢!

0 投票
2 回答
555 浏览

android - 如何停止间隔(1分钟)运行的处理程序?

我正在开发一个应用程序,在该应用程序中,我每隔一分钟将设备位置发送到服务器。我在这里使用 Handler 来安排我的任务。用户单击STOP按钮后,处理程序应停止执行。我无法做到这一点。请在下面找到我的代码。

停止任务代码:

我试过了stopServiceremoveCallbacks但没有用。谁能为此提供解决方案?

更新

这是** callAsynchronousTask()**

我两次发布数据。第一次是用户单击开始按钮,然后我启动计时器以每分钟执行一次。

0 投票
1 回答
166 浏览

android - 软键盘隐藏调用在 view.post() 中没有按预期工作,但在 runOnUIThread() 中工作正常

当我调用(从片段内部)将键盘隐藏在 runOnUiThread() 中时,键盘会隐藏,但是当我从 activity.getCurrentFocus().post() 内部执行相同操作时,键盘不会隐藏。

1)下面的代码有效

2) 但这不是

在哪里view = activity.getCurrentFocus();

android文档说以下内容:-

a) public final void runOnUIThread(Runnable action) - 在 UI 线程上运行指定的操作。如果当前线程是 UI 线程,则立即执行该操作。如果当前线程不是UI线程,则将动作发布到UI线程的事件队列中

b) public boolean post(Runnable action) - 将 Runnable 添加到消息队列中。runnable 将在用户界面线程上运行。

有人可以解释一下吗,在此先感谢!

0 投票
0 回答
1072 浏览

android - 活动完成()时如何停止多个创建runOnUiThread()

我在我的活动中添加了这段代码,当按下完成活动时,我的主要活动是阻止所有用户界面,我不知道为什么会发生这种情况。

0 投票
2 回答
553 浏览

android - Android 未更新 UI 线程上的按钮背景颜色

我正在开发一个应用程序并尝试使用单击更新按钮背景颜色。我想做的是,

1)等待0.5秒检查答案是否正确。如果答案正确,将按钮颜色更改为绿色,否则将其更改为红色。

2) 按钮颜色变化后,再等待 0.5 秒,然后调用函数更新问题。

这是我的 onClick 方法,

所以它只是不改变按钮的背景颜色。其他一切工作正常。谁能告诉我我的错误在哪里?

感谢你们对我的帮助。:D

0 投票
1 回答
77 浏览

android - 线程中断后如何确保通过某个地方?

我为计划的 ui 上的动画更改图像创建了一个线程。按钮单击时会中断,并设置固定图像。但是如果runOnUiThread 中的setImage 在onClick 中的setImage 之后不小心发生了,那就是错误的图像。

这段代码中是否有任何方法可以确保在从 InterruptedException 返回后通过某个地方。(我不想在 ui 线程上有更多延迟)

请帮忙谢谢!

//一次点击

编辑:我按照建议重写了这部分。

//开始

// 结束点击

然后有时工作有时不工作,当“doInBackground”不在睡眠时不工作!它确实进入了 onCancel 但并没有真正取消,我用 isCanceled() 得到了错误记录图片如下 在此处输入图像描述