마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

Viewpager 페이지 현황 표시 터치시 페이지 이동 질문

0 추천

뷰페이저를 이용한 앱을 만들고 있습니다.

안드로이드 메뉴 화면 처럼 만들고있는데 뷰페이저와 그 밑에 현제 페이지 표시하는 부분은 만들었습니다.

하지만 페이지 표시하는 기능만 만들어져있어서 안드로이드 메뉴처럼 가고싶은 페이지를 누르면 페이지가

이동하는 기능을 만들고 싶습니다. 어떤 식으로 만드는지 원리가 궁금합니다. 

현재는 뷰가 추가되어 부여지는 부분만 구현되어있습니다.

private void initPageMark() {
 
    for (int i = 0; i < VIEW_PAGE_NUM; i++) {
        ImageView iv = new ImageView(context.getApplicationContext());
        iv.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT
                                                                     , LayoutParams.WRAP_CONTENT));
 
        if (i == 0) {
            iv.setBackgroundResource(R.drawable.page_select);
        } else {
            iv.setBackgroundResource(R.drawable.page_not);
        }
 
        layoutCountView.addView(iv);
        }
 
    mPrevPosition = 0;
}

set Tag를 이용하여 구현하면 된다고 하시던데 이해가 잘안되어서 질문드립니다.

bellfe0402 (1,770 포인트) 님이 2014년 10월 17일 질문

1개의 답변

+1 추천
 
채택된 답변
iv.setTag(i); 이렇게 태그로 몇 번째인지 값을 저장하시고

iv에 onclicklistener를 등록하여

 

onClick(View v) 메소드에서

v.getTag(); 로 몇번째 뷰가 클릭되었는지 값을 가져온 후

 

ViewPager.setCurrentItem(int item, boolean smooth) 메소드로 해당 페이지로 이동 시키면 됩니다.
원조안드로이드 (58,190 포인트) 님이 2014년 10월 17일 답변
bellfe0402님이 2014년 10월 20일 채택됨
...