草庐IT

RunOnUiThread

全部标签

android - runOnUiThread(new Runnable(){}) 对于 new Thread(){} 类型未定义

看零件:runOnUiThread(newRunnable(){我有问题:ThemethodrunOnUiThread(newRunnable(){})isundefinedforthetypenewThread(){}所以我知道runOnUiThread必须来自一个Activity。但我不确定这将如何实现?它是首选项/设置View中的对话框这就是ChannelsDialogPreference的来源:pref_channels.xmlChannelsDialogPreference:packagecom.example.tvrplayer;importjava.util.ArrayL

android - 无法从服务内部的线程中调用 runOnUiThread

这个问题在这里已经有了答案:AccessingUIthreadhandlerfromaservice(7个回答)关闭8年前。我想创建一项服务,如果有任何未读的SMS,则每20秒检查一次我的SMS,然后将其发送到我的网站,然后标记为已读以将数据发布到我使用asynctask的网站,当我手动尝试时它运行良好(通过制作按钮点击类型的应用程序)但在辅助服务中我无法定义runOnUiThread(newRunnable(){@Overridepublicvoidrun(){newMyAsyncTask().execute(sender,time,message);}});它无法识别并要求我定义r

Android - 使用 runOnUiThread 从线程进行 UI 更改

我正在使用自定义标题View,并希望在线程工作时在标题View中显示/隐藏进度条。这是我的标题View的XML在我的Activity中,将其设置为自定义标题栏后,我会这样做titleProgress=(ProgressBar)findViewById(R.id.progress_small_title);titleProgress.setVisibility(View.INVISIBLE);titleProgress是ProgressBar对象。这就是我在帖子中所做的事情runOnUiThread(newRunnable(){publicvoidrun(){titleProgress.

Android runOnUiThread 解释

我试图在我的一项Activity的onCreate()方法期间显示进度对话框,在线程中完成填充屏幕的工作,然后关闭进度对话框。这是我的onCreateMethod()dialog=newProgressDialog(HeadlineBoard.this);dialog.setMessage("PopulatingHeadlines.....");dialog.show();populateTable();populateTable方法包含我的线程和关闭对话框的代码,但出于某种原因。Activity出现空白大约10秒(执行populateTable()工作),然后我看到屏幕。我从来没有看

Android - 如何将数据传递给runOnUiThread中的Runnable?

我需要更新一些UI并在UI线程内使用runOnUiThread现在UI的数据来自另一个线程,这里用data表示。如何将数据传递给Runnable,以便它们可用于更新UI?Android似乎不允许直接使用数据。有没有优雅的方法来做到这一点?publicvoidOnNewSensorData(Datadata){runOnUiThread(newRunnable(){publicvoidrun(){//usedata}});}我的解决方案是在可运行文件中创建一个字段privateDatasensordata,并为其分配数据。这仅适用于原始Datadata是最终的。publicvoidOnN

android - 我可以举一个使用 runOnUiThread 显示 toast 的示例吗?

我搜索了很多地方,但找不到“runOnUiThread”实现的完整工作示例。我尝试了很多,但得到了很多错误。我只想显示线程中的toast。 最佳答案 所以这是最终的完整代码。感谢所有回复的人。importandroid.app.Activity;importandroid.content.Intent;importandroid.os.Bundle;importandroid.view.View;importandroid.widget.Toast;publicclassMainActivityextendsActivity{@Ov

android - 为什么在 runOnUiThread 做同样的事情时使用处理程序?

我都遇到过Handlers和runOnUiThread概念。但对我来说,他们在哪些事实上完全不同似乎仍然是一个疑问。它们都旨在从后台线程执行UI操作。但是,我们在这两种方法中进行选择时要考虑哪些因素。例如考虑一个RunnableThread在后台执行Web服务,现在我想更新UI。更新我的用户界面的最佳方式是什么?我应该选择Handler还是runOnUiThread?我仍然知道我可以使用AsyncTask并使用onPostExecute。但我只想知道区别。 最佳答案 Activity.runOnUiThread()是更通用Handl

java - 如何等待 Android runOnUiThread 完成?

我有一个工作线程,它创建一个可运行对象并在其上调用runOnUiThread,因为它处理View和控件。我想立即使用可运行对象的工作结果。我如何等待它完成?如果它被阻塞,它不会打扰我。 最佳答案 只是勾勒出亮点synchronized(myRunnable){activity.runOnUiThread(myRunnable);myRunnable.wait();//unlocksmyRunablewhilewaiting}同时...在myRunnable...voidrun(){//dostuffsynchronized(this

android - runOnUiThread 没有调用

localChatManager.addIncomingListener{from,message,chat->Log.v(TAG,"listener")//Youcan'tmodifyviewsfromnon-UIthread.this@chatActivity.runOnUiThread{object:Runnable{overridefunrun(){Log.i(TAG,"runOnUiThread")}}}}我无法弄清楚为什么runOnUiThread不工作,但在该方法之外,一切都照常工作。 最佳答案 您正在做的是将lamb

android - Android 中的 runOnUiThread 与 Looper.getMainLooper().post

谁能告诉我使用runOnUiThread()与Looper.getMainLooper().post()在Android的UI线程上执行任务之间是否有区别??我唯一能确定的是,由于runOnUiThread是一个非静态的Activity方法,Looper.getMainLooper().post()当你需要在一个类中编写一些代码时更方便看不到Activity(比如界面)。我不是在寻找关于是否应该在UI线程上执行某些事情的讨论,我知道有些事情不能,很多事情不应该,但是,有些事情(比如启动AsyncTask)必须从UI线程执行。 最佳答案