0

グリッド ビューでの位置に基づいてイメージビューを取得しようとしています。

例えば:

int lastvisibleposition = gridView.getLastVisiblePosition();
    int firstvisibleposition = gridView.getFirstVisiblePosition();

これにより、2 つの位置が得られます (例: 0、1)。

私は次のことができると思いました:

gridView.getItemAtPosition(lastvisibleposition)

getItemAtPosition "リスト内の指定された位置に関連付けられたデータを取得します。"

したがって、これを ImageView にキャストできると想定しました。

ImageView imageView = (ImageView) gridView.getItemAtPosition(lastvisibleposition);

しかし、imageView は null です。グリッドビューが何を返しているのか、および/またはイメージビューに到達する方法を理解できないので、続行できます。

実際の画像ビューを取得するにはどうすればよいですか? 私はこれをすべて行っているので、画面の下部にあるボタンで画面アイテムの「ほとんど」でアクションを引き起こすことができます-これは垂直スクロールギャラリーなので、両方の画像ビューを返すことができれば、各画像ビューは実際には画面上にあり (imageView.getLocationOnScreen(...) を使用)、ユーザーが必要とする画像に対してアクションを引き起こします。

ありがとう。

4

1 に答える 1

0

個人的には、返されるオブジェクトのタイプを ImageView に変換する前に確認します。

ImageView imageView = (ImageView) gridView.getItemAtPosition(lastvisibleposition);

このコードを追加してみてください:

Object temp = gridView.getItemAtPosition(lastvisibleposition);

temp のタイプをデバッグおよびチェックして、imageview に変換できることを確認します。

于 2013-03-29T20:22:05.323 に答える