0

我需要在我的 GridView 中获取特定的 ImageView。我试过这个,但它给出了 NullPointerException:

ImageView imageView = (ImageView) myGridView.getChildAt(1);
imageView.setSomething();

有人可以告诉我如何解决这个问题吗?谢谢

4

3 回答 3

3

我假设您在创建阶段( 、 等)执行此操作onCreate()onResume()但直到所有这些“创建”方法完成后才会绘制视图。可惜没有回调onFinishedDraw()...

但是,您可以将代码放在 Runnable 中:

Runnable tweakChild = new Runnable() {
    @Override
    public void run() {
        ImageView imageView = (ImageView) myGridView.getChildAt(1);
        imageView.setSomething();
    }
};

并将此 Runnable 传递给您的 GridView 的处理程序(onCreate()例如内部):

myGridView.post(tweakChild);
于 2012-10-28T19:18:43.407 回答
1

您只需在 ImagaViewAdapter 中实现 getItem() 方法。您必须返回 null。

于 2015-03-04T15:16:07.573 回答
0

实际上,调整这些视图的经典方法是通过适配器的 getView()。

在这里查看一些解释:

https://stackoverflow.com/a/6243248/1665128

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

http://androidforums.com/developer-101/146035-get-element-view-gridview.html

于 2012-10-28T19:40:37.987 回答