如何在Android中的列表视图中不断更新列表项?
我有一项监控正在进行的交易进度的活动。当我加载进度视图时,它会在创建时捕获状态,但我自然希望更新它。
我尝试了this answer,但这会创建一个代码块,即使活动不在焦点也会不断执行。
也许有一些我不知道的动态列表视图适配器?
答案 0 :(得分:2)
链接的答案大部分都很好,只需稍微调整一下就可以防止它在onPause()
之后运行:
private boolean mRunning;
Handler mHandler = new Handler();
Runnable mUpdater = new Runnable() {
@Override
public void run() {
// check if still in focus
if (!mRunning) return;
// upadte your list view
// schedule next run
mHandler.postDelayed(this, 500); // set time here to refresh views
}
};
@Override
protected void onResume() {
super.onResume();
mRunning = true;
// start first run by hand
mHandler.post(mUpdater);
}
@Override
protected void onPause() {
super.onPause();
mRunning= false;
}