如何检查视图是不是可见(android listview)

Posted

技术标签:

【中文标题】如何检查视图是不是可见(android listview)【英文标题】:How can I check if a View is visible (android listview)如何检查视图是否可见(android listview) 【发布时间】:2016-04-04 09:50:37 【问题描述】:

我创建了一个库,允许用户在后台下载图像并将其放入视图中,并在下载完成后通过参数传递给函数。问题是,如果我在列表视图中使用我的库,在 getView() 方法中调用此方法,当用户滚动非常快时,库会对传递的每一行进行请求。但我想这样做,只有当用户真正看到一个单元格时......也许当滚动列表停止时。那么,如何在传递给库方法的单个视图上检查这个东西呢? 唐克斯

【问题讨论】:

if(view.getVisibility() == View.VISIBLE) @AkarshM 所以快速滚动不会是 View.VISIBLE? 【参考方案1】:

你可以使用

    getVisibility () 返回此视图的可见性状态。

    isShown () 返回此视图及其所有祖先的可见性。

getVisibility()

 if (ViewObj.getVisibility() == View.VISIBLE) 
    // Your Staff
 else 
   // Your Staff

isShown()

如果此视图及其所有祖先都是可见的,则为真

【讨论】:

啊,好吧....但是可见是什么意思?快速滚动视图将是 View.VISIBLE 吗?【参考方案2】:

您可以使用view.getVisibility()。结果将是View.VISIBLEView.GONEView.INVISIBLE

如果你想在你的视图可见时做某事,那么你的预期结果将是:View.VISIBLE

if(yourView.getVisibility() == View.VISIBLE)
//Do what you want..

【讨论】:

以上是关于如何检查视图是不是可见(android listview)的主要内容,如果未能解决你的问题,请参考以下文章

如何检查视图而不是 viewController 是不是可见?

如何使用 Xcode 7 UI 测试检查表格视图中的单元格是不是可见?

检查表格视图单元格是不是完全可见

检查 UIAlertView 是不是可见

检查 ARReferenceImage 在相机视图中是不是不再可见

Android:将所有视图设置为可见以进行测试/调试