我需要在我的 GridView 中获取特定的 ImageView。我试过这个,但它给出了 NullPointerException:
ImageView imageView = (ImageView) myGridView.getChildAt(1);
imageView.setSomething();
有人可以告诉我如何解决这个问题吗?谢谢
我需要在我的 GridView 中获取特定的 ImageView。我试过这个,但它给出了 NullPointerException:
ImageView imageView = (ImageView) myGridView.getChildAt(1);
imageView.setSomething();
有人可以告诉我如何解决这个问题吗?谢谢
我假设您在创建阶段( 、 等)执行此操作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);
您只需在 ImagaViewAdapter 中实现 getItem() 方法。您必须返回 null。
实际上,调整这些视图的经典方法是通过适配器的 getView()。
在这里查看一些解释:
https://stackoverflow.com/a/6243248/1665128
http://androidforums.com/developer-101/146035-get-element-view-gridview.html