Android 方向更改时无法获取tabHost对象
我正在尝试在应用程序中实现方向功能。该应用程序基本上由选项卡组成,使用TabHost。每个选项卡都是一个包含几个活动的活动组。每个子活动都使用AsyncTask运行后台任务,以提取服务器数据并呈现UI 比如说,Android 方向更改时无法获取tabHost对象,android,android-tabhost,android-orientation,android-tabs,android-tabactivity,Android,Android Tabhost,Android Orientation,Android Tabs,Android Tabactivity,我正在尝试在应用程序中实现方向功能。该应用程序基本上由选项卡组成,使用TabHost。每个选项卡都是一个包含几个活动的活动组。每个子活动都使用AsyncTask运行后台任务,以提取服务器数据并呈现UI 比如说, HomeActivity- tab activity class that creates all the tabs UserActivity- an activity group class representing a tab (say Tab 1) TabOne- child ac
HomeActivity- tab activity class that creates all the tabs
UserActivity- an activity group class representing a tab (say Tab 1)
TabOne- child activity inside UserActivity group
用户在成功登录后不久会看到选项卡1。当我尝试将定向功能设置到此选项卡时,问题开始出现。在活动(TabOne)中,我添加了以下内容
@Override
public void onSaveInstanceState(Bundle outState) {
System.out.println("saving state..!");
outState.putStringArray("imageUrls", imageArray);
super.onSaveInstanceState(outState);
}
@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
System.out.println("restoring state..!");
imageArray = savedInstanceState.getStringArray("imageUrls");
super.onRestoreInstanceState(savedInstanceState);
}
我能够获取“imageUrls”状态。但是,后来,我无法访问静态选项卡主机变量
HomeActivity.tabHost.getTabWidget().getChildAt(1)
tabHost变量为空!我没有拯救任何一个州。我如何可能保存tabHost实例
在研究其他社区帖子时,我发现了“onRetainonConfiguration实例()。我实现了同样的功能
public Object onRetainNonConfigurationInstance() {
System.out.println("retaining state..!");
return HomeActivity.tabHost;
}
但是此对象返回为null。有人能告诉我使用tabHost处理应用程序方向更改的步骤吗
如果你觉得有什么不明白的地方,问我
提前谢谢
已解决:将屏幕大小添加到清单中的活动标记修复了该问题
<activity android:name=".HomeActivity"
android:configChanges="orientation|screenSize"/>
您可以添加参数
android:configChanges="orientation"
到清单中的活动。我想这是你想要的。它应该是这样的:
<activity
android:name="com.your.package.YourActivity"
android:configChanges="orientation"
</activity>
已经添加了这个。android:configChanges=“keyboard | keyboardHidden | orientation”您是否将其添加到具有TabHost的活动以及显示在选项卡中的活动中?我可以在模拟器中看到屏幕方向发生了变化。不久之后,NullPointerException被抛出到tabHost变量。恭喜,您也可以发布解决方案吗?:)编辑问题!看看吧;)