Android中的方向更改时,列表视图会被清除(使用customAdapter,List )
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android中的方向更改时,列表视图会被清除(使用customAdapter,List )相关的知识,希望对你有一定的参考价值。
在我的应用程序中,我使用CustomAdapter实现了Listview。 Customadapter由List对象构成,即List<ClassObject>
。而这个List<ClassObject>
的补充是动态的。此ListView元素有一个按钮字段,用于从List<ClassObject>
中删除所选的ClassObject。
所有这些在一个方向上都很好。但是当方向改变为另一个时,列表视图变得清晰,我通过代码检查,List<ClassObject>
变得清晰,List<ClassObject>.size()
返回零。
我正在使用不同的布局来纵向和横向。
我在manifest.xml中尝试了android:ConfigChanges =“Orientation | Screensize”,它阻止了我的数据,但即使更改为横向并且它正在弄乱我的布局,它仍然保持一个纵向布局。
我想知道如何通过匹配横向和纵向的单独布局来阻止我的数据。
该应用程序应该将API级别SDK 8工作到更高15。
请告诉我onSaveInstanceState(Bundle outInstanceState)
和onRetainNonConfigurationInstance()
之间的区别。
当我在developer.android上查看ReturnNonConfigurationInstance()时,他们说它在API级别13中被弃用了。那么我们应该使用什么呢?
我确实想要使用下面的代码以某种方式保存数据。
protected void onSaveInstanceState(Bundle) {
// save your data
//lstRoughDetailsPL is an object of List<Rough>
outState.putSerializable(""+R.id.lstSO,(Serializable) lstRoughDetailsPL);
super.onSaveInstanceState(outState);
}
@SuppressWarnings("unchecked")
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
// read your previously saved data
//lstRoughDetailsPL is an global object of List<Rough>
lstRoughDetailsPL = (List<Rough>)savedInstanceState.getSerializable(""+R.id.lstSO);
FillGrid();// used do fill the list view by looping around the List<Rough> and passing values as 4 string[] to a CustomAdapter which has 4 textview in each list entry.
}
但是当来电或来自通知幻灯片打开另一个应用程序时,我的活动就会受到挤压。说“不幸的是,MyRoughWorkOutApp已停止”
我该怎么办?
我想到了。我将我的类更改为parcelable类,然后将ArrayList的对象传递给bundle。
现在,一切都很好,完美。如果有人需要帮助,请随时说..
以上是关于Android中的方向更改时,列表视图会被清除(使用customAdapter,List )的主要内容,如果未能解决你的问题,请参考以下文章