-4

多くの画像 (1000 以上) を表示する UI を実装する必要があります。画像のレイアウトは次のようになります。

(image1)  (image2)  (image3)
  ( image4 )    ( image5 )
  ( image6 )    ( image7 )
     ...
  ( imageN )    ( imageN+1)

これらの画像を ListView に表示したいのですが、その方法を知っています。しかし、表示後にどの画像がクリックされたかを特定する方法がわかりません。ListView で小さな画像をクリックした後、大きな画像を表示する必要があります。どんな答えでも大歓迎です。

編集 1: ListView でこれを行うのが難しい場合、GridView を使用してこの種のレイアウトを実装することは可能ですか?

4

1 に答える 1

1

のを作成し、そのArrayListImageViewにすべてのimageViewオブジェクトを追加できます。次にsetOnTouchListener、ループを使用して配列リストのすべての要素を呼び出します。このOnTouch(View v, MotioNEvent event)メソッドでは、View v はあなたのimageView.

例えば:

for(int i=0;i<imageArray.size();i++){
    imageArray.get(i).setOnTouchListener(new OnTouchListener(){
        protected boolean onTouch(View v, MotionEvent event){
            //v is your image on which the touch event happened.
        }
    });
}
于 2012-04-19T14:02:52.117 に答える