안드로이드 개발 질문/답변
(글 수 45,052)
final Gallery g = (Gallery) this.findViewById(R.id.gallery);
하여
g.setAdapter(new ImageAdapter(c , 1));
ImageAdapter로 리소스에 있는 이미지를 뿌려 주고 있는데
이게 스크롤이 되잖아요~
그때 그 스크롤이 맨 마지막 부분에 도착 했는지
아니면 스크롤의 위치가 맨처음인지 알수 있을까요?
getview의 position으로는 정확 하게 안나오더라구요 0 1 2 3이 잘안나오고
맨앞으로 갔을때 어쩔땐 0 어쩔땐1이 나와서 position값으로는 현재 위치가 맨처음인지 끝인지
알아내기가 힘들어 이렇게 질문 올립니다
어떻게하면 맨 처음에 도달했는지 마지막에 도달했는지 알수있을까요??
class ImageAdapter extends BaseAdapter { private int bt=1; private Context mContext; private int[] mImageIds=null; public ImageAdapter(Context c , int btn) { this.mContext = c; this.bt=btn; mImageIds =new int[] { R.drawable.ma_1, R.drawable.ma_2, R.drawable.ma_3, R.drawable.ma_4 }; @Override public View getView(final int position, View convertView, ViewGroup parent) { ImageView imageView; if(convertView == null) { imageView = new ImageView(mContext); } else { imageView = (ImageView) convertView; } imageView.setImageResource(mImageIds[position]); imageView.setScaleType(ImageView.ScaleType.FIT_XY); imageView.setLayoutParams(new Gallery.LayoutParams(240, 240)); return imageView; } }
mImageIds 의 크기와 비교하면 되지 않을까요?
imageView.setTag(position) 을 쓰셔서 position값을 getTag()로 가져다 비교하는 방식으로요.
포지션값이 틀리다는 것은, BaseAdapter 를 쓰셨으면 position 값이 mImageIds 의 순서와 같을 텐데요.
같아야 맞습니다.