리스트뷰에 Cursor로 받은 정보를 띄워주려고 합니다. 

리스트뷰의 각 행은 이미지뷰와 텍스트뷰를 담고있습니다. 각 정보는 CursorAdapter로 상속 받은 클래스에서 newView와 bindView로 이어줬구요..


처음엔 제가 원하던 바대로 출력이 되나 싶더니, DB에 정보 추가 가능한 리스너가 있어서 Item갯수가 많아지면 

Item7이 넘어갈때 뷰를 터치(클릭)할때마다 기이하게 변동되는데요 ;;


Item1

Item2

Item3

Item4

...

...

위의 정렬이 정상이라면.. 아래같이 Item7이 넘어가거나, 이미지뷰를 리스트 row에 추가시키면 갑자기 괴이하게
Item2
Item6
Item1
Item3
...
...
이런식으로 row 위치가 뒤바끼고 해당 row를 삭제(DB삭제) 시키면 엉뚱한 row가 삭제되는 마법같은 일도 일어납니다. +_+
로그캣에 에러도 안잡히고 이상합니다.. 이미지뷰를 row에 추가시킬땐 어플을 다시 실행해야만 리스트뷰에 추가되는 모습을 볼 수도 있습니다.
이유를 도무지 모르겠어요;;

View는 대략 이렇게 구현했습니다.
작은 실마리도 저에겐 큰 힘이 될 것 같습니다.
조언 부탁드립니다!

@Override

public void bindView(View view, Context context, Cursor cursor) {


c = cursor;

String cursor_text1 = c.getString(c.getColumnIndex(DbHelper.TITLE));

String cursor_text2 = c.getString(c.getColumnIndex(DbHelper.BODY));

String cursor_text3 = c.getString(c.getColumnIndex(DbHelper.DATE));

String cursor_img = c.getString(c.getColumnIndex(DbHelper.IMAGESRC));


text1.setText(cursor_text1);

text2.setText(cursor_text2);

text3.setText(cursor_text3);

BitmapFactory.Options bo = new BitmapFactory.Options();

bo.inSampleSize = 8;

Bitmap bm = BitmapFactory.decodeFile(cursor_img, bo);

imgview.setImageBitmap(bm);

}


@Override

public View newView(Context context, Cursor cursor, ViewGroup parent) {

c = cursor;

LayoutInflater inflater = (LayoutInflater) context.getSystemService(LAYOUT_INFLATER_SERVICE);

View v = inflater.inflate(R.layout.listrow, null);

text1 = (TextView) v.findViewById(R.id.textview1);

text2 = (TextView) v.findViewById(R.id.textview2);

text3 = (TextView) v.findViewById(R.id.textview3);

imgview = (ImageView) v.findViewById(R.id.imageview1);

return v;

}

}