WebView遇到了一个奇怪的问题,决定让经验丰富的Android玩家遇到类似行为。场景如下:
我使用以下代码填写活动控件:
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内部,但它包含内容,因此没有双滚动故障。
谢谢
答案 0 :(得分:0)
最后找到了问题。是由上面提到的double调用fillData()方法引起的,第一次是在打开Details活动时,第二次是在主活动的onResume()中。很可能它会引起一些渲染故障,但不确定究竟是什么。