gpt4 book ai didi

android - 更改配置时 ListView 项目未正确刷新(旋转手机)

转载 作者:行者123 更新时间:2023-11-29 18:09:02 25 4
gpt4 key购买 nike

我有一个 ListView ,其中的数据源来自网络(相当大的列表)。我正在做的是为 listview 项目提供 2 种不同的布局(只需移动该列表上的一些标签以利用横向模式下的 View 宽度)。我不希望我的 Activity 在我旋转手机时重新加载,所以我在 Manifest 文件中设置

android:configChanges="orientation"

接下来,我还在我的 Activity 中实现覆盖方法 onConfigurationChanged() 以帮助我用新的 ListView 项(用于横向模式)更新我的 ListAdapter(如果它处于横向(通过检查 newConfiguration.orientation))。我制作这个列表适配器,调用 notifyDataSetChanged() 并调用 listview.invalidate() 重新绘制整个 ListView 。我得到的是一个很大的惊喜:一些项目被更改为新的 ListView 项目(在横向模式下)而其他一些 ListView 项目没有改变。

我为此花了很多时间,对此一无所知,请帮忙!提前致谢。

最佳答案

您可以尝试通过处理程序在 onConfigurationChanged() 中执行任何操作吗?

类似于:

@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);

handler.sendEmptyMessageDelayed(1,500);
}

Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
if(msg.what == 1) {
// do your onConfigurationChanged Stuff
}
}
};

我猜你可能需要在 onConfigurationChanged 之后等待一段时间才能更新你的 ListView

关于android - 更改配置时 ListView 项目未正确刷新(旋转手机),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11774454/

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