草庐IT

runOnUIThread

全部标签

android - Android的runOnUiThread是否在Adapters中调用了getView()?

我正在使用延迟加载图像的Gallery(一个类用于Gallery和Adapter,另一个用于延迟加载部分)。第二个类使用runOnUiThread使用其上下文更新第一个类,但它似乎再次调用了第一个类适配器的getView()方法。这意味着getView()会为Gallery中的每个图像调用两次。查看下面的代码。奇怪的是,第二个getView()调用仅在Gallery小部件中的选定图像上调用。如果同时显示四张图片,将对这四张图片调用一次getView(),并对所选图片调用另外三次。知道为什么会这样吗?这是适配器publicclassImageAdapterextendsBaseAdapt

java - 如何传递或分配在 runOnUiThread 中获得的值

在WebView的子类中,我在getTitle()的重写方法中有这个:@OverridepublicStringgetTitle(){Activitya=getVoTts().getActivity();a.runOnUiThread(newRunnable(){publicvoidrun(){Stringtit=VoWebView.super.getTitle();}});Stringtitle=tit;//thisiswhatIWANTtodo,itwon'tcompileofcourse......}但是字符串tit在匿名Runnable类中被关闭,因此当然不能通过方法访问。是否

android - 从服务使用 : runOnUiThread or AsyncTask or Handler or Post

我正在编写一个voip应用程序。它基于管理voip逻辑的服务和用于调用电话、应答等的UI。从服务更新UI的最佳方式是什么:runOnUiThread或AsyncTask或处理程序或发布什么时候使用一种方法而不是另一种方法?我知道runOnUiThread是有问题的,因为它可能会导致事件乱序运行(如果线程已经是UI线程)。谢谢。 最佳答案 据我所知,您不能直接从服务更新屏幕。您必须使用广播接收器从服务中捕获您的广播。我想AsyncTask本身使用runOnUiThread,但它提供了在后台线程中执行一个方法并将结果放入UI线程的好方法

Java runOnUiThread 和 Thread.sleep

我从一个单独的类中获得了这个方法,其中当调用结束时,我的ImageView的颜色从红色变为白色。示例代码如下:publicvoidendOfCall(){((Activity)mContext).runOnUiThread(newRunnable(){@Overridepublicvoidrun(){TargetDetails.oncall.setVisibility(View.VISIBLE);TargetDetails.endcall.setVisibility(View.GONE);}});try{call.endCall();}catch(SipExceptionse){}ca

android - thread/runnable, handler, runonuithread, asynctask 之间的区别

我开始学习安卓编程,并且正在开发一款小游戏。我听说做后台操作或更新或下载或任何后台和耗时的事情不应该用uithread来完成,而是使用thread/runnable或asynctask。但是我不能在线程中做一些事情,比如后台连接到数据库,因为这个连接与剩余的处理程序一起工作,runonuithread,asynctask.am非常困惑在哪里使用哪个。我有一些问题1.handler、runonuithread都运行在ui线程上,thread/runnable是不同的线程,在异步任务中,doinbackground方法运行在不同的线程上,其他方法如onprogressupdate、onpr

java - 从另一个线程运行线程

我测试了以下代码,没有出现Toast消息,“TestMethod”没有调用“Catch”方法,请帮帮我?publicvoidTestMethod(){Test=newThread(newRunnable(){publicvoidrun(){try{Catch();}catch(Exceptionioe){}}});Test.start();}publicvoidCatch(){Test2=newThread(newRunnable(){publicvoidrun(){try{Toast.makeText(getApplicationContext(),"Yes",Toast.LENGT

按下后退按钮时 Android runOnUiThread 崩溃

我正在使用DownloadManager从服务器下载文件,我正在从适配器执行此操作,并且我正在使用runOnUiThread在fragment中显示下载进度。它运行良好,但是当我在下载时按下后退按钮时,runOnUiThread抛出NullPointerException。我尝试使用if语句在onPause中放置一个变量来停止该方法,但它也不起作用。您建议如何解决此崩溃问题?这是我的代码:newThread(newRunnable(){@Overridepublicvoidrun(){downloading=true;while(downloading){DownloadManager

android - 如何从另一个线程做 toast (没有 runOnUiThread)

我需要从处理线程制作Androidtoast,这是OpenCV的自定义,因此我不能按照此处的建议使用runOnUiThread():Android:Toastinathread.大部分代码来自CVCamera示例应用。但是那些不熟悉的人,当我选择Surf菜单按钮时,SURFProcessor被调用如下:elseif(item.getTitle().equals("SURF")){defaultcallbackstack.addFirst(newSURFProcessor());toasts(DIALOG_TUTORIAL_SURF,"");}运行此处理器线程后,当我按下手机的相机按钮(

Android runOnUiThread/AsyncTask 无法解析 CalledFromWrongThreadException

我正在开发一个Android应用程序并使用AsyncTask类实现ProgressBar。问题是在某些设备上,它会导致“CalledFromWrongThreadException:只有创建View层次结构的原始线程才能触及它的View。”在onPostExecute中。在这些设备上,问题100%发生。在其他设备上,它工作正常。publicfinalclassMyAsyncTaskextendsAsyncTask{privateProgressBarprogress;privateListActivityactivity;publicMyAsyncTask(ListActivityac

android - 来自 CustomCursorAdapter 的 RunOnUIThread

我有什么我有一个CustomCursorAdapter,我从那里运行一个Thread来执行一些heave任务。我想要什么我想在线程完成后更新他的UI,比如显示Toast。我的问题因为我在自定义光标适配器中,所以我无法让Activity使用runOnUiThread方法,如getActivity().runOnUiThread()。CustomCursorAdapter类只是一个Java类,而不是Activity或Fragment。如何获取Activity引用并从我的CustomCursorAdapter执行runOnUiThread方法? 最佳答案