Android更新来自后台服务的arrayadapter数据

时间:2011-11-24 04:32:37

标签: android service android-arrayadapter

我有一个服务在后台运行,并带有定时事件。每5分钟我想下载一个新的数据列表并更新一个arrayadapter(用于主Activity中的AutoComplete Textview框)。我该怎么做呢?或者,如果从服务中无法做到这一点?

我尝试将textView设为public static并直接设置适配器,但程序崩溃说该行不能通过“不调用Looper.prepare的线程”来完成

感谢。

2 个答案:

答案 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/

你的生活可能会更好