Android Webview首先呈现,而活动的其余部分为黑色
由于WebView有一个相当奇怪的问题,决定询问经验丰富的Android用户,他们可能会遇到类似的行为。情况如下:Android Webview首先呈现,而活动的其余部分为黑色,android,android-webview,Android,Android Webview,由于WebView有一个相当奇怪的问题,决定询问经验丰富的Android用户,他们可能会遇到类似的行为。情况如下: 打开一个包含大量文本视图和单个Web视图的活动。最初渲染一切都很好 从此活动中打开另一个活动,其中显示了与第一个活动相关的一些其他详细信息 当用户单击“后退”按钮,并且“详细信息”活动关闭时,我希望主活动能够正确地恢复,但在50%的情况下,WebView会立即显示,而其余活动会显示约一秒钟。挺烦人的 我用以下代码填写活动控件: void fillData(Context con
- 打开一个包含大量文本视图和单个Web视图的活动。最初渲染一切都很好李>
- 从此活动中打开另一个活动,其中显示了与第一个活动相关的一些其他详细信息
- 当用户单击“后退”按钮,并且“详细信息”活动关闭时,我希望主活动能够正确地恢复,但在50%的情况下,WebView会立即显示,而其余活动会显示约一秒钟。挺烦人的李>
void fillData(Context context){
Command cmd = cmdList.get(index);
if(cmd.getTypeId() == CMD_TYPE_EXTENSION){
cmdName.setText(cmd.getName());
String extStr = DALHelper.getInstance().getExtensionName(Integer.toString(cmd.getExtensionId()));
extName.setText(extStr.substring(0, extStr.length() - 1));
cmdDesc.setText(cmd.getDescription());
}else{
String name=cmd.getName()
.concat(" (")
.concat(cmd.getDescription())
.concat(")");
cmdName.setText(name);
cmdDesc.setText(cmd.getComments());
}
if(cmd.getSyntax() != null){
String s = alignSyntaxText(cmd.getSyntax());
cmdSyntax.setText(s);
}
String params = DALHelper.getInstance().getHtmlParameters(Integer.toString(cmd.getId()));
if(params.length() > 0){
params = params.substring(DUMMY_TAG_INDEX);
htmlParams.loadDataWithBaseURL("fake://not/needed", Utils.removeBadCharacters(params), "text/html", "utf-8", null);
}
scroll.fullScroll(ScrollView.FOCUS_UP);
}
最后一次调用fullScroll()可能是原因吗
另外要提到的是,WebView与其他文本字段一起位于scrollView中,但是它包装了内容,因此没有出现双滚动故障
谢谢终于找到问题了。是由上述对fillData()方法的双重调用引起的,第一次是在打开Details活动时,第二次是在主活动的onResume()中。很可能是它导致了一些渲染故障,但不确定具体是什么