제가 현재 뷰페이지를 구현하고 있는데...
현재 페이지 표시를 구현하려고 합니다..
안드로이드 바탕화면에 보면 현재 페이지 표시를 색깔로만 구분하는데..
저도 안드로이드 바탕화면처럼 구현하고 싶거든요..
근데 아래 부분에 소스를 참고하시면..
setBackgroundResource 메소드로 표시를 하다보니.. 기존에 이미지 뒷부분만 바껴서..
이걸 Background 가 아니라 아예 이미지를 바꿀수있게 할순없나요? setImageResource 메소드는 사용 못하더라구요..ㅠ
답변부탁드립니다 고수님들 ㅠ
mViewpager.setOnPageChangeListener(new OnPageChangeListener() {
public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub
}
public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO Auto-generated method stub
}
public void onPageSelected(int position) {
// TODO Auto-generated method stub
mLinearLayout.getChildAt(mPrevPosition).setBackgroundResource(R.drawable.page_not); //이전 페이지에 해당하는 페이지 표시 이미지 변경
mLinearLayout.getChildAt(position).setBackgroundResource(R.drawable.page_select); //현재 페이지에 해당하는 페이지 표시 이미지 변경
mPrevPosition = position;
}
});




강제로 캐스팅 해주면 됩니다.
mLinearLayout.getChildAt 을 하면 View로 넘어오기 때문에
이미지 뷰의 메소드인 setImageResource 를 사용하지 못합니다.
이 부분을 이미지뷰로 강제적으로 캐스팅 한다면 사용할 수 있습니다.
((ImageView)mLinearLayout.getChildAt(position)).setImageResource(리소스 아이디);
단, Casting Exception 안나게 이미지뷰로 만드셔야 겠죠~~