-4

我需要实现一个显示许多图像(超过 1000 个)的 UI。图像的布局如下:

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

我想在 ListView 中显示这些图像,我知道该怎么做。但是,我不知道在显示它们后如何识别单击了哪个图像。单击 ListView 中的小图像后,我需要显示一个大图像。任何答案将不胜感激。

编辑 1:如果 ListView 很难做到这一点,是否可以使用 GridView 来实现这种布局?

4

1 回答 1

1

您可以创建一个ArrayListof ImageView,并在其中添加所有imageView对象。然后只需setOnTouchListener使用循环调用数组列表的所有元素。在该OnTouch(View v, MotioNEvent event)方法中,视图 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 回答