我将TextView + webview作为ListView的ListItem。当我改变方向时。我正在重新加载所有文件以及设置适配器,我正在调用以下代码从程序列表中选择项目,因此我可以使用与用户单击相同的方式调用onItemClick调用。
if(position!=-1 && getAdapter()!=null){
requestFocusFromTouch();
performItemClick(
getAdapter().getView(position,
null, null), position,
getAdapter().getItemId(position));
}
现在,当我更改屏幕方向时,所选项目的webview不会滚动直到结束。当我们改变方向时,它似乎没有改变它的滚动位置(即使我们重置适配器)。
我尝试了网页浏览的requestlayout()
,forcelayout()
,invalidate()
,reload()
方法,但似乎没有一种方法可行。
答案 0 :(得分:0)
您可能已将WebViews高度设置为wrap_contents。这意味着当列表加载时它们的高度为0并且它们扩展为>在某些时候高度为0。解决问题的一种方法是在滚动之前等待所有webview调用onSizeChanged,另一个选项是每次列表内容改变大小时重新定位列表。