我在网格视图中有一个图像列表。当我点击它以全屏心情显示的图像时,触摸将一个图像更改为另一个图像,只是增加位置。这是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;
}
});
在最后一个图像中,它显示“它已意外停止”的错误。我如何处理索引绑定数组?
答案 0 :(得分: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]);
}
}
答案 1 :(得分:0)
在尝试访问数组中的元素之前,检查索引是否有效(在0
和array.size - 1
之间)。