android tabbar方向问题

时间:2011-12-27 04:27:41

标签: android orientation tabbar

我为android tablets设计了一个应用程序,它包含一个标签栏。我为每个标签设计了两个布局,一个用于横向,另一个用于纵向。当用户选择任何一个选项卡时,首先我显示progress bar in asynchronous task并且加载了一些数据。

目前我正在处理on restore instance,当用户将应用程序从纵向或反向旋转为横向时,asynchronous task is been called again并从第一个进程加载数据。

我尝试使用OnConfig方法,在此方法中从纵向旋转到横向时,纵向布局以横向模式显示,而我在横向布局中设计了一些与纵向布局相比的更改。由于我有不同的横向和纵向布局,我无法使用OnConfig

如何克服这个问题,我想使用OnConfig方法,我试过Onrestore instance state,两者都没有解决我的问题...请给我一个更好的方法......

1 个答案:

答案 0 :(得分:0)

我不建议覆盖onConfigurationChanged方法(并且不要将方向作为清单文件中的配置覆盖之一)。通过方向更改,将重新创建活动,这很好,因为它将使用所有正确的资源文件加载新布局。

至于AsyncTask,一个常见的模式是不将它与Activity结合起来。相反,您也许可以创建一个单独的mananger类,它将对活动的引用保存为侦听器。当Activity重新生成时,您可以使用用于回调的新Activity实例更新manager类,并且当异步过程完成时,它将通知当前活动。

为了维护进度条,您可以保留一个状态变量,该变量在onSaveInstanceState期间保存并使用onRestoreInstanceState进行恢复,可用于显示/隐藏视图。 Anther选项是轮询管理器类以查找正在运行的进程,并在onCreate

期间相应地更新布局

这可能不是最快捷,最简单的解决方案,但是一个好的框架将有助于此。