【问题标题】:How to find an ImageView inside a GridView?如何在 GridView 中找到 ImageView?
【发布时间】:2012-10-28 19:09:38
【问题描述】:

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

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

谁能告诉我如何解决这个问题? 谢谢

【问题讨论】:

    标签: android android-imageview android-view android-gridview


    【解决方案1】:

    我假设您是在创建阶段执行此操作(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);
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

        在这里查看一些解释:

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

        How to find element inside a gridview in Android?

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-06-14
          • 1970-01-01
          • 2023-04-09
          • 2015-07-20
          • 1970-01-01
          • 2013-10-10
          相关资源
          最近更新 更多