我在 GridView 中有一个图像列表。当我单击图像时,它会以全屏模式显示,并通过触摸将一个图像更改为另一个图像,只是增加位置。这是 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;
}
});
在最后一张图片中,它显示错误“它已意外停止”。我该如何处理索引绑定(bind)数组?
最佳答案
您正在尝试获取不在您的数组中的索引。您的位置必须小于 array.length
if( v == findViewById( R.id.full_image_view ))
{
if(position < imageAdapter.mThumbIds.length){
imageView.setImageResource(imageAdapter.mThumbIds[position]);
}
}
关于android - 我如何处理数组索引越界?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10816106/