Android中的方向更改时,列表视图会被清除(使用customAdapter,List )

学向勤中得,萤窗万卷书。这篇文章主要讲述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 )】现在,一切都很好,完美。如果有人需要帮助,请随时说..

    推荐阅读