Android选项卡活动和动态选项卡屏幕方向问题

Android选项卡活动和动态选项卡屏幕方向问题,android,tabactivity,Android,Tabactivity,我将视图(而不是活动)添加到TabActivity on demand(这意味着在onCreate完成后,活动可以有零个或多个选项卡)。随着更多选项卡的添加,现在我需要以一种合理的方式保存它们,以便以后可以恢复它们。我尝试在单个视图上使用saveHierarchyState等,但是它们在没有来自editText等的数据的情况下被还原 既然我在活动中有一个从TabKey映射到视图的HashMap,您将如何保存和恢复这些数据?好的,我知道了:) 首先,我认为我需要按照描述设置视图的ID——使用这种方

我将视图(而不是活动)添加到TabActivity on demand(这意味着在onCreate完成后,活动可以有零个或多个选项卡)。随着更多选项卡的添加,现在我需要以一种合理的方式保存它们,以便以后可以恢复它们。我尝试在单个视图上使用saveHierarchyState等,但是它们在没有来自editText等的数据的情况下被还原

既然我在活动中有一个从TabKey映射到视图的HashMap,您将如何保存和恢复这些数据?

好的,我知道了:)

首先,我认为我需要按照描述设置视图的ID——使用这种方法,Android能够恢复视图状态。但是,由于我的动态选项卡都使用来自相同布局的视图,它们的子视图都具有相同的ID,因此android将覆盖数据(状态根据视图ID保存在稀疏数组中,因此ID应该是唯一的),并且所有视图看起来都相同。我通过手动保存视图的状态并通过以下方式重新应用来修复此问题:

SparseArray<Parcelable> container = new SparseArray<Parcelable>();
saveHierarchyState(container);
b.putSparseParcelableArray("state", container);
restoreHierarchyState(b.getSparseParcelableArray("state"));
SparseArray容器=新SparseArray();
saveHierarchyState(容器);
b、 Putsparseparacelarray(“州”,集装箱);
恢复hierarchystate(b.getsparseparacelarray(“州”);
虽然这种方法可行,但我仍然需要知道,如果允许/可能的话,我是否可以通过不在布局xml文件中为视图设置ID来让Android完成所有工作