如何在 Android 的列表视图中不断更新列表项?
我有一个监控正在进行的交易进度的活动。当我加载进度视图时,它会捕获创建时的状态,但我自然想更新它。
我尝试遵循这个答案,但这会创建一个代码块,即使活动不在焦点上也会不断执行。
也许有某种我不知道的动态列表视图适配器?
如何在 Android 的列表视图中不断更新列表项?
我有一个监控正在进行的交易进度的活动。当我加载进度视图时,它会捕获创建时的状态,但我自然想更新它。
我尝试遵循这个答案,但这会创建一个代码块,即使活动不在焦点上也会不断执行。
也许有某种我不知道的动态列表视图适配器?
链接的答案大部分都很好,只需稍微调整一下以防止它在之后运行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;
}