在android中更新Activity UI的简单方法

时间:2010-06-22 17:09:03

标签: android user-interface

我有一个简单的主要活动,包含3个按钮,以及在检测到Wifi连接时运行的后台服务。我的主要活动在onCreate上轮询数据库并显示状态。我想要的是强制Activity每隔几秒重绘一次textview。我不想使用粘合剂或连接到服务。只需要一些简单的方法就可以每隔几秒向数据库询问一次状态。

这是我的代码。

mdbHelper.open();
Cursor cursor = mdbHelper.fetchAllArticles();
first = cursor.getCount();
cursor = mdbHelper.fetchAllFeeds();
second = cursor.getCount();
cursor.close();
mdbHelper.close();

myTextView.setText(first + " in articles and "  + second + " in feeds.");

我似乎无法从onCreate ...

以外的任何其他方法更新myTextView

谢谢!

1 个答案:

答案 0 :(得分:2)

你可以做类似的事情。

private Handler mHandler = new Handler() {
    void handleMessage(Message msg) {
        switch(msg.what) {
            case UPDATE_TEXTVIEW:
            // update the text view;
        }
    }
}

public void onCreate() {
    Thread t = new Thread(new Runnable() {
        void run() {
            mHandler.sendEmptyMessage(UPDATE_TEXTVIEW);
            sleep(5000);
        }
    });
    t.start();
}

但正确的做法是让服务通知您的Activity什么时候查询数据库。在不需要的时候每隔几秒查询数据库就不好了。