【问题标题】: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?

标签: android listview view visible


【解决方案1】:

你可以使用

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

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

getVisibility()

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

isShown()

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

【讨论】:

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

您可以使用view.getVisibility()。结果将是View.VISIBLE、View.GONE或View.INVISIBLE。

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-06
    • 1970-01-01
    • 2011-06-05
    相关资源
    最近更新 更多