gpt4 book ai didi

android - 在 ListView 中每次刷新时保持滚动位置

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:21:06 25 4
gpt4 key购买 nike

我在我的应用程序中设置了一个计时器,我可以从网络服务中获取一些信息并生成一个 ListView 来显示。现在我的问题是每次计时器运行时,滚动回到开头...

如何在 ListView 中每次刷新时保持滚动位置?

我的部分代码:

runOnUiThread(new Runnable() {
public void run() {
/**
* Updating parsed JSON data into ListView
* */
ListAdapter adapter = new SimpleAdapter(DashboardActivity.this,
all_chat,
R.layout.list_item,
new String[] { TAG_FULLNAME,
TAG_DATE,
TAG_MESSAGE },
new int[] { R.id.fullname,
R.id.date,
R.id.message }
);
// updating listview
setListAdapter(adapter);
}
});

TNx.

最佳答案

不要调用 setAdapter()。做这样的事情:

ListAdapter adapter; // declare as class level variable

runOnUiThread(new Runnable() {
public void run() {
/**
* Updating parsed JSON data into ListView
*/
if (adapter == null) {
adapter = new SimpleAdapter(
DashboardActivity.this, all_chat, R.layout.list_item, new String[]{TAG_FULLNAME, TAG_DATE, TAG_MESSAGE},
new int[]{R.id.fullname, R.id.date, R.id.message});
setListAdapter(adapter);
} else {
//update only dataset
allChat = latestetParedJson;
((SimpleAdapter) adapter).notifyDataSetChanged();
}
// updating listview
}
});

关于android - 在 ListView 中每次刷新时保持滚动位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16092638/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com