处理Android选项卡式应用程序中的方向更改

时间:2013-03-14 14:16:26

标签: android android-layout android-asynctask android-orientation

这篇文章是关于一个受欢迎的,讨论得很好的主题 - 处理屏幕方向。即使它被广泛讨论,我也很难为应用程序绘制一个有效的解决方案,迫使我在这里写。

因此,该应用基本上是使用TabHost制作的标签。每个选项卡都是一个活动组。该应用程序主要使用AsyncTask从Web服务获取数据。每个子活动都附加到一个AsyncTask,它包含一个UI处理程序对象 - 显示所有与UI相关的操作,例如显示警报消息和附加listView适配器。

例如,从活动调用asynctask如下。

UIHandler handler = new UIHandler(this, getParent()) //parent context of the tab
CustomAsyncTask taskRunner = new CustomAsyncTask(handler);
taskRunner.execute(params);

我尝试使用保存和恢复实例状态,这显然不起作用。我发现在我的场景中使用配置会让人感到困惑。

希望我确实解释了这个立场。你能建议出路吗?

注:

如果我应该提供更多细节来支持这一幕,请告诉我。

目前的处理方式:

我对大多数屏幕都有一个布局。它适用于清单文件中的单行。

android:configChanges="keyboard|keyboardHidden|orientation" 

但现在,我有两个屏幕有两个布局,每个方向一个。

编辑

我有一个使用自定义适配器的ListView。从服务器获取数据,UI处理程序正确加载listView。

在Custom adapter的getView()中,我使用布局xml作为行布局。

public View getView(int position, View convertView, ViewGroup parent) {
   convertView =  mInflater.inflate(R.layout.custom_fullpicturerow, null); 
}

在方向更改时,如何更改上述布局并加载新布局?

0 个答案:

没有答案