如何防止重启Android Tabhost中的某个活动?

时间:2012-09-11 07:40:30

标签: android android-tabhost android-orientation

在我的应用程序中,我有一个标签主机和3个活动A,B,C作为标签内容。当方向更改时,当前活动正在重新启动。活动B,有一个Web视图,我正在动态加载一些视频链接。当用户点击这些视频时,他们就会被播放。当方向改变时,B正在重新启动,这使我的网络视图清晰也无法从停止位置恢复视频。为此,我想阻止只有活动B重启(这只是一个案例,但我有许多其他正当理由不杀死活动B)。

我想要的是如何防止只有“B”被破坏并重新创建。我试图重写public void onConfigurationChanged(Configuration newConfig)
在tabhost活动和Activty“B”中都有。但它正在调用Activity B的onCreate方法以及onConfigurationChanged。在B中调用onCreate,使我的视图刷新并丢失B活动的状态。所以,简而言之,是否有任何方法可以防止在android标签主机中调用其中一个活动的destroy / create(第二次)。在此先感谢。

1 个答案:

答案 0 :(得分:-1)

您需要限制方向更改,否则一旦方向更改,将重新启动活动。

要限制方向更改,您需要在清单文件中为正在使用的所有活动添加此行,否则您可以将其添加到应用程序本身。

<activity android:name="A"
              android:configChanges="orientation|keyboardHidden"></activity> 
<activity android:name="B"
              android:configChanges="orientation|keyboardHidden"></activity> 
<activity android:name="C"
              android:configChanges="orientation|keyboardHidden"></activity>