【问题标题】:Activity in tab host goes blank选项卡主机中的活动变为空白
【发布时间】:2011-10-30 12:27:47
【问题描述】:
我有带有三个选项卡的选项卡主机。在第一个选项卡中,我正在画布上执行一些位图操作(有点重)。每当我移动到第二个或第三个选项卡时,选项卡中的活动变为空白。我在选项卡 1 中有一个编辑文本,所以当软键盘弹出时,其余选项卡工作正常。我认为这是因为弹出软键盘时窗口会重新调整大小。我想如果我能够重新调整大小或刷新选项卡 1,我将能够在其余选项卡中正确查看内容。有什么办法可以重新调整大小当前窗口或刷新窗口。我尝试使用 LayoutParams 设置宽度和高度,但实际上并没有调整大小。当我更改方向时,选项卡开始正常工作,可能是因为整个选项卡主机正在重新创建。
有没有人遇到过类似的问题?
任何帮助将不胜感激。
【问题讨论】:
标签:
android
android-tabhost
tabactivity
【解决方案1】:
您可以使用FLAG_ACTIVITY_CLEAR_TOP 选项在选项卡选择处自动刷新选项卡内容。因此,当您创建选项卡时,只需将其添加到您的选项卡规范中即可。
tabHost.addTab(tabHost.newTabSpec("tab1")
.setIndicator("myTabName")
.setContent(new Intent(this, MyTabContent.class)
.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)));
【解决方案2】:
如果您在选项卡内的活动中使用画布,请确保在重新创建视图时您的尺寸始终正确 - 首先记录值并观察宽度和高度在何时何地获得新值。最常见的错误点是 onDraw 和 onMeasure