gpt4 book ai didi

android - 实现用于更新 UI 的监听器接口(interface)的主要 Activity

转载 作者:行者123 更新时间:2023-11-29 14:51:59 25 4
gpt4 key购买 nike

所以首先我想出了如何从另一个线程更新 UI。我将 AsyncTask 和 Handler 类用于其他用途

但是起初我做错了,现在我真的很想找出问题所在。

所以我的第一个尝试是创建一个 java 接口(interface) MyListener用方法 updateUI()并让主要 Activity 实现该监听器接口(interface)。比我在处理 http 请求的线程中将主要 Activity 注册为监听器。从那个线程我调用了MyListener.updateUI()请求完成后。 updateUI()用请求的结果更新一些 TextView 。

这在 android 中不起作用。我没想到。我不知道为什么。异常告诉我必须从 UI 线程进行这些更新。

我不明白为什么updateUI()当我调用 MyListener.updateUI() 时不在 UI 线程中运行主要 Activity 实现 updateUI()来自监听器界面。

你能给我解释一下这种行为吗?

最佳答案

我看到你在其他线程中执行了http请求,但是你没有使用AsyncTask , 正确的?我建议您应该使用该类,在 doInBackground 方法中执行 http 请求(因为它在主线程之外工作),并在 onPostExcute 上调用 MyListener.updateUI() 因为这个方法总是在主线程中被调用。试一试,让我知道它是否有效。

关于android - 实现用于更新 UI 的监听器接口(interface)的主要 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15140013/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com