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 に答える
0

実際、これらのビューを調整する従来の方法は、アダプターの getView() を使用することです。

ここでいくつかの説明を参照してください。

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

Androidでグリッドビュー内の要素を見つける方法は?

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

于 2012-10-28T19:40:37.987 に答える