如何在Android中的gridview中找到元素?

前端之家收集整理的这篇文章主要介绍了如何在Android中的gridview中找到元素?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个网格视图,我使用@R_301_451@适配器填充.
在填充gridview时,我将每个元素放在一个唯一的标签中.

一旦这个gridview被填充,我希望在gridview中找到一个特定的元素标签.如何找到这个?

目前我在做这个:

gridviewobject.findViewById(thetag);
// gridview object is the object of the gridview that i have populated.

解决方法

除了要注意a)通过其标签搜索视图可能是您可以用来查找视图的最慢方法,以及b)如果您尝试使用标签请求视图,并且该视图不是当前可见,那么您将获得null.

这是因为GridView回顾其视图,因此本质上它只会使足够的视图适合屏幕,然后只需更改这些视图的位置和内容即可.

可能是一个更好的方法

final int numVisibleChildren = gridView.getChildCount();
final int firstVisiblePosition = gridView.getFirstVisiblePosition();

for ( int i = 0; i < numVisibleChildren; i++ ) {
    int positionOfView = firstVisiblePosition + i;

    if (positionOfView == positionIamLookingFor) {
        View view = gridView.getChildAt(i);
    }
}

基本上findViewWithTag做类似的事情,但是比较整数比较它比较标签(这是比较慢,因为它们是对象而不是int)

猜你在找的Android相关文章