我有一个服务在后台运行,并带有定时事件。每5分钟我想下载一个新的数据列表并更新一个arrayadapter(用于主Activity中的AutoComplete Textview框)。我该怎么做呢?或者,如果从服务中无法做到这一点?
我尝试将textView设为public static并直接设置适配器,但程序崩溃说该行不能通过“不调用Looper.prepare的线程”来完成
感谢。
答案 0 :(得分:1)
您获得的错误是因为您尝试从非UI线程更新UI。尝试使用runOnUiThread()
,将内容更新为runOnUiThread()
内的用户界面。
<强>更新强>
如果要在服务中更新,则应使用上下文而不是Activity_name。
Activity_name.this.runOnUiThread(new Runnable() {
@Override
public void run() {
// here you can add stuff to Update the UI.
}
});
答案 1 :(得分:0)
懒惰列表是示例app.i认为如果您使用异步类
http://androidpartaker.wordpress.com/2010/08/01/android-async-task/
你的生活可能会更好