问题标签 [android-looper]
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.
android - Android ListView 无限循环双向
是否可以让 ListView 在两个方向上无穷无尽?我有 5 个我想要去的项目,比如 A->B-->C->D->E->A->B...我没有超过这 5 个项目,它是一个静态 ListView。就像一个具有相同 5 个项目的循环列表。我发现了一些无穷无尽的 ListView,它们在您处于底部时会加载新数据,但在两个方向上都没有。
谢谢!
android - Android Looper 循环在 android 2.3.3 上无限期运行
以下方法调用不会在我的应用程序的单独线程中终止。
Looper.loop();
我无法诊断为什么会发生这种情况。有什么建议么?
android - 一旦我调用了 loop(),我该如何在 Looper 实例上调用 quit()
我正在尝试在单独的线程中运行 Looper。本质上,在该线程上启动 Looper 的目的是让它运行适当的 SoundPool.OnLoadCompleteListener 实例。
所以代码明智:
但是,由于是无限循环,对循环的调用不会返回。那么我应该如何调用 Looper.myLooper.quit()?
android - 在后台线程中发出的地理定位请求冻结了主线程
我的应用程序有以下工作流程:主活动有一个按钮,单击后启动第二个活动。在第二个活动中,有一个TextView
显示位于指定地理点的城市。为了找到这个城市,我向我在后台线程中提出的Geocoder提出了一个请求。
我的期望:第二个活动(几乎)立即开始,当后台线程完成请求时,ui线程更新TextView
内容。
会发生什么:第二个活动只有在Geocoder
完成其工作时才开始。为了清楚起见,我们可以关闭 wi-fi 并单击按钮 - 预计五六秒,Geocoder
在日志中出现无法获取地理点的消息后,第二个活动启动。
我做错了什么?相关代码如下,完整的示例项目在 github 上。
android - 后台线程中的 PhoneStateListener
我在尝试在后台线程中运行 PhoneStateListener on* 回调方法时遇到问题。这是我到目前为止所做的:
首先,我编写了我的 PhoneStateListener 实现。类似的东西:
然后我创建了一个 Handler 类:
最后,从一个Service
我开始一个新的HandlerThread
并将我的附加PhoneStateHandler
到它的'looper:
我所期望的是,诸如在线程而不是 UI 线程MyPhoneStateListener.onCallStateChanged()
上执行的方法。mThread
我正在利用这样一个事实,即当第一次创建 PhoneStateListener 时,它绑定到其当前线程的 Looper。这是无证的,但这就是实际发生的情况。
然而,我观察到的是,尽管该PhoneStateHandler.onHandleMessage()
方法在HandlerThread
's looper 中被调用(如我所料),但MyPhoneStateListener.onCallStateChanged()
仍然在 UI 线程中被调用。
关于我的代码有什么问题的任何线索?
谢谢
android - 处理程序是否是线程,具有处理程序和线程的 Looper 的作用是什么?
处理程序是否是线程?如果是,我们如何从这个 Handler(thread) 更新 UI?
如果我们使用 Looper 的概念,那是可能的。在这种情况下,它是否适用于任何线程?我对这些线程、处理程序和 Loopers 感到非常困惑。任何人都可以用一个例子来解释他们吗?处理程序是否是线程?如果是,我们如何从这个 Handler(thread) 更新 UI。
如果我们使用 Looper 的概念,有可能,在这种情况下它适用于任何线程吗?我对这个 Thread、Handler 和 Looper 感到非常困惑。任何人都可以用一个例子来解释他们吗?
“ Thread 和 Handler 有什么区别”这个问题只是关于 Handlers 和 Threads 的问题,并没有解释 Loopers 和它们的行为。并且接受的答案说“另一方面,处理程序是允许您与 UI 线程通信(更新 UI)的后台线程”,但根据下面“ben75”的回答,处理程序不是线程。因此,我不认为这是该问题的重复。
android - 是否可以在 BroadcastReceiver 的 onReceive 方法中退出 looper
使用以下代码以及何时onReceive
触发,我收到以下错误
在com.sample.common.UserActivity$1@41c2b4b0
问题是这个语句Looper.myLooper().quit();
如何looper
在收到下面代码中的广播后终止我的?
android - 我如何正确使用 Asynctask?
我正在开发一个 Android 应用程序,但 Asynctask 和 Looper 给我带来了更多问题,我不明白如何解决这个问题......这是我的主要活动:
***** 编辑 *****
视频库代码:
当我将活动更改为另一个再次包含异步任务的活动时,发生了错误:
**** 编辑 2 ****
如果我删除 Looper.prepare(); 在视频库中发生了另一个错误:
我该如何解决这个问题?我阅读了所有其他问题,但解决方案对我没有帮助。
java - 如何在主线程上调用 getLooper()?
在 Android 中,Main Thread &HandlerThread
默认有 Looper 和 MessageQueue。我可以在 handlerThread 对象上调用 getLooper() ,但为什么不能在主线程上调用?
在实际场景中,永远不需要在 mainThread 上使用getLooper();我们可以打电话Looper.getMainLooper()
。我只想知道为什么它不起作用。
我从 Java 的角度理解它,它Looper.getMainLooper().getThread()
返回一个java.lang.Thread
,并且 Thread 类没有getLooper()方法;但Android的主线程可以。主线程可以作为一个访问HandlerThread
吗?
java - Loppers Android 错误
你好,我在 android 上有一堂课
它的工作并返回 gps,但是当我在另一个类中调用时,我会为 lopper.prepare 发送错误
java.lang.RuntimeException:无法在未调用 Looper.prepare() 的线程内创建处理程序
获取位置(GPSTracker.java:69)
(GPSTracker.java:47)
哪里有错误?
问候!