3

我在网格视图中有一个图像列表。当我单击它以全屏心情显示的图像时,通过触摸将一个图像更改为另一个只是增加位置。这里是 onTouchListener 的代码

private int position=0;
imageView.setOnTouchListener(new OnTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent event)   
    {  
        if(event.getAction() == MotionEvent.ACTION_DOWN)  
        {  
              position++;
              if( v == findViewById( R.id.full_image_view ))   
              { 
                   imageView.setImageResource(imageAdapter.mThumbIds[position]);
              }
        }
        return false; 
    }
}); 

在最后一张图片中,它显示“它已意外停止”的错误。我该如何处理索引绑定的数组?

4

2 回答 2

4

您正在尝试获取不在您的数组中的索引。您的position must be less than array.length

 if( v == findViewById( R.id.full_image_view ))
              {
                  if(position < imageAdapter.mThumbIds.length){

                    imageView.setImageResource(imageAdapter.mThumbIds[position]);

                 }
               }
于 2012-05-30T12:19:05.037 回答
0

在尝试访问数组中的元素之前,检查索引是否有效(介于两者之间0) 。array.size - 1

于 2012-05-30T12:19:05.483 回答