【问题标题】:Not able to scroll till end in android在android中无法滚动直到结束
【发布时间】:2014-03-05 09:11:47
【问题描述】:

我有 TextView+webview 作为 ListView 的 ListItem。当我改变方向时。我正在重新加载所有文件并再次设置适配器,我正在调用以下代码以编程方式从列表中选择项目,这样我就可以获得与用户单击相同的 onItemClick 调用方式。

if(position!=-1 && getAdapter()!=null){
                requestFocusFromTouch();
                performItemClick(
                        getAdapter().getView(position,
                                null, null), position,
                        getAdapter().getItemId(position));
            }

现在,当我更改屏幕方向时,所选项目的 web 视图不会滚动到最后。当我们改变方向时,它似乎并没有改变它的滚动位置(即使我们重置了适配器)。

我尝试了requestlayout()forcelayout()invalidate()reload() 的 webview 方法,但它们似乎都不起作用。

【问题讨论】:

  • 我在使用调用 performItemClick 方法按代码选择项目时使用了延迟,但这不是最好的解决方案,我认为他们应该是更好的解决方案。

标签: android android-listview android-webview


【解决方案1】:

您可能已将 WebViews 高度设置为 wrap_contents。这意味着当列表加载时它们的高度为 0,并且它们在某个点扩展为 > 0 的高度。解决您的问题的一种方法是等待所有 webview 在滚动之前调用 onSizeChanged,另一种选择是在每次列表内容更改大小时重新定位列表。

【讨论】:

  • 您好,感谢您的回复。实际上 webview 仅在用户单击列表项时可见。每次用户单击列表项(TextView)时,我都需要设置高度。
猜你喜欢
  • 1970-01-01
  • 2017-09-03
  • 1970-01-01
  • 2021-09-05
  • 1970-01-01
  • 1970-01-01
  • 2014-10-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多