我有一个简单的主要活动,包含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谢谢!
答案 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什么时候查询数据库。在不需要的时候每隔几秒查询数据库就不好了。