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

array.your にないインデックスを取得しようとしています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 に答える