2014-12-11 2 views
0

나는 이미지가있는 gridview가 있고 이미지를 클릭 할 때 스와핑을 허용하려고합니다.gridview 스왑 기능

  int blank = 0; 
      int click = position; 

      for (int i = 0; i < size; i++) { 
       if ((Integer)gridView.getChildAt(i).getTag() == size - 1) { 
        blank = i; 
       } 
      swap(); 
      gridView.invalidateViews(); 

나는 이것이 로그 캣 내게주는 것입니다 실행하면이 스왑 기능

private void swap() { 
     Bitmap temp = bmparray[click]; 
     bmparray[click] = bmparray[blank]; 
     bmparray[blank] = temp; 
    } 

입니다 :

는 OnClickListener를에

치명적인 예외를 : 주요 java.lang.NullPointerException

이것은입니다. 스왑 함수의 첫 번째 행 무엇이 잘못 될 수 있습니까?

+0

전체 스택 추적을 게시 할 수 있습니까? –

+0

@ChrisSprague http://pastebin.com/yN8nLTRP –

답변

0

스왑 함수에서 코드를 가져 와서 스왑 함수가 호출되는 곳으로 수정했습니다.

0

bmparray [click]가 배열 크기를 초과 확장하지 않습니까?

또한 "클릭"및 "빈"변수는 OnClickListener 내에 선언됩니다. 스왑 함수에 인수로 전달해야하는 것 같습니다. 일반적으로 컴파일러 오류가 발생합니다. 나는 click과 blank라는 전역 변수가 있다고 추측하고있다.