我试图在更新单独的类后更新我的应用中的几个UI元素。单独的类既不是活动也不是片段。任何人都可以将我指向正确的方向吗?一个处理程序是否能在这里很好地工作,如果可以的话,你能指向一个可接受的处理程序例子吗Android:从单独的类中的线程更新UI
0
A
回答
1
你可以在separe类中使用它。
public void setView(Activity activity, View view) {
activity.runOnUiThread(new Runnable() {
public void run()
{
/update your view here
}
});
}
如果您是前提,您可以从您的活动变量中获取视图,而不是传递视图。
0
您不能从主线程以外的其他线程更新任何UI元素。如果您正在使用主线程,则可以将视图传递给其他类中的方法,并对其进行一些更改。
0
如果您的外部类可以使用Activity类注册回调,您需要将两个类连接在一起,方法可能是实现一个回调机制,该机制将使用处理程序处理到主应用程序线程中。
或者更简单地说,您可以通过允许从Activity传递引用到其他类的方式来使用上下文,但是您希望确保不泄漏上下文。
相关问题
- 1. 的Android如何更新从其他类(UI线程)(真的吗?)
- 2. 在单独的线程中更新ObservableCollection
- 3. Android将Thread中的数据从单独的java类发送到UI线程
- 4. Android:定期从线程更新UI
- 5. Android多线程UI更新
- 6. 从WinRT中的线程更新UI
- 7. 从线程更新UI
- 8. 安全地更新单独线程中BufferedImage的单独区域?
- 9. 在Android服务的单独线程中运行位置更新
- 10. 在android中,为什么UI不能从UI线程更新?
- 11. Android - 正确的多线程/ UI更新
- 12. 从父类中更新从不同的线程从二级类的UI
- 13. 从WPF中的单独线程更新Image.source
- 14. 如何从工作线程更新UI线程中的视图
- 15. 将更新/数据从一个线程发送到Android中的UI线程
- 16. 更新UI线程
- 17. 更新UI线程
- 18. 从Android中的线程更新视图
- 19. Android-使用线程更新UI元素
- 20. Android:更新UI线程非常快
- 21. 从另一个线程的Android更新UI
- 22. objective c cocoa从单独的线程更新gui
- 23. 从Web服务中更新Android UI线程
- 24. C#从不同的类/线程更新UI
- 25. 为什么只有Android的UI线程更新UI?
- 26. C#WPF从工作线程更新UI
- 27. 从另一个线程更新UI
- 28. 从另一个线程更新UI(progressDialog)
- 29. 从后台线程更新UI
- 30. 从后台线程问题更新UI
我真的需要另一个线程来更新几个UI元素吗?同样为了这个工作,我必须存储对我的活动的引用以及在课堂中的视图;这些都不会被允许或导致安全问题? –
另外我的单独的类有一个对我想要更新的TextView的引用。 –
是的,你需要,因为它需要在UiThread上运行到UI上的任何更新。没有安全问题。我看到的'问题'并不是最好的实践,因为你正在从事另一个班级的活动,应该在活动中完成。 –