该列表是通过网络从远程供稿中提取的,所以我试图这样做 防止必须通过另一个网络拉动重新加载列表视图
基本上我只是希望应用程序保存所有内容然后 当用户更改方向时,自行恢复,而不是必须 制作另一个完整的回拨数据源。 以及我必须在onSaveInstanceState方法中写的内容。
我需要做什么才能帮助我,所以我可以继续? 提前谢谢。
答案 0 :(得分:1)
非常简单。
对于方向更改,即使屏幕方向从纵向更改为横向,也可以保留活动的数据,反之亦然。
你需要为横向方向制作一个单独的布局xml,使所有元素保持相同(没有视图及其ID),就像它们在纵向布局xml中一样。
将此xml放在名为“ lauout-land“在应用程序的”res“文件夹中,并给它与”layout“文件夹中的对应名称相同。
因此,每当他们将进行配置更改时,android将为此布局xml充气而不是肖像模式,反之亦然。
编辑部分
如果你想在方向改变之前保存一些东西(我真的不知道为什么你需要这个),你可以这样做公共空虚onConfigurationChanged(配置newConfig){
....... .....
保存任何你想保存的内容,如任何编辑文本的文字
任何arraylist
.... .... ..
super.onConfigurationChanged(newConfig);
....现在将保存的数据设置为您想要的任何位置。
如果您的列表在方向更改后重置,那么如果您的活动未被杀死,则包含数据的数组也必须仍然存在。
再次为您的列表设置适配器。
在此之后休息我的建议。
答案 1 :(得分:0)
您的列表视图必须由某种列表支持数组列表,集合等。您可以将该列表传递给android并要求它在您的活动终止并重生时为您存储该对象。这样做的方法是使用onRetainNonConfigurationInstance
。检查android文档。这很简单。