지금 ViewPager를 이용해 사진(이미지)을 6장 넘기는 형식으로 짜고 있습니다. 뭐가 잘못된건지 3장 이후에는 넘어가질 않아요..

좀 봐주세요 고수님들!

 

 

package kr.co.boypobysoft;

import android.app.Activity;
import android.content.Context;
import android.graphics.Color;
import android.os.Bundle;
import android.os.Parcelable;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

public class ViewPagerTest extends Activity {
   
    public final static int VIEW_PAGE_NUM = 6; //총 페이지 갯수
    int nowPage = 0; //현재 페이지
   
 ViewPager vp_main = null; //ViewPager
    CustomPagerAdapter cpa = null; //커스텀 어댑터
    Context context = null;
   
    Button bt_prev = null; //이전 버튼
    Button bt_next = null; //다음 버튼
       
   
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.portfolio_page);
        context = this;
       
        cpa = new CustomPagerAdapter();
        vp_main = (ViewPager) findViewById(R.id.vp_main);
        vp_main.setAdapter(cpa);
       
        bt_prev = (Button) findViewById(R.id.bt_prev);
        bt_next = (Button) findViewById(R.id.bt_next);
       
        bt_prev.setOnClickListener(bt_event);
        bt_next.setOnClickListener(bt_event);
       
        bt_prev.setEnabled(false); //처음 0 페이지 부터 시작 이전버튼 비활성화.
       
        //ViewPage 페이지 변경 리스너
        vp_main.setOnPageChangeListener(new OnPageChangeListener(){

         
         
   
   public void onPageScrollStateChanged(int state) {}

   
   public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {}

   
   public void onPageSelected(int position) {
    //페이지가 변경될때 변경되는 페이지 포지션에 대한 체크(버튼을 활성화/비활성화 시켜줌)
    pageCheck(position);    
   }
         
        });
    }
   
    /**
     * 버튼 이벤트 정의
     */
    OnClickListener bt_event = new OnClickListener(){

  
  public void onClick(View v) {
   int id = v.getId();
   if(id == R.id.bt_prev){
    nowPage--;
    pageCheck(nowPage);    
   }else if(id == R.id.bt_next){
    nowPage++;
    pageCheck(nowPage);
   }
   vp_main.setCurrentItem(nowPage);
  }
     
    };
   
    /**
     * 변경되는 페이지를 확인하고 버튼들의 활성화 상태 변경
     * @param pageNum 변경되는 페이지
     */
    public void pageCheck(int pageNum){
  if(pageNum <= 0){
   bt_prev.setEnabled(false);
  }else if(pageNum >= VIEW_PAGE_NUM-1){
   bt_next.setEnabled(false);
  }else{
   bt_prev.setEnabled(true);   
   bt_next.setEnabled(true);
  }
  nowPage = pageNum;//OnPageChangeListener에서 들어올때 현재 페이지 변수 변경을 위한 라인
    }
   
    /**
     * 커스텀 페이지 어댑터
     */
    private class CustomPagerAdapter extends PagerAdapter{

               
               
                public int getCount() {
                        return VIEW_PAGE_NUM;
                }

                /**
                 * 각 페이지 정의
                 */
               
                public Object instantiateItem(View collection, int position) {
                 View view = null;
                 
                 if(position == 0){
                  view = View.inflate(context, R.layout.page_one, null);
                 }else if(position == 1){
                  view = View.inflate(context, R.layout.page_two, null);
                 }else if(position == 2){
                  view = View.inflate(context, R.layout.page_three, null);
                 }else if(position == 3){
                  view = View.inflate(context, R.layout.page_four, null);
                 }else if(position == 4){
                  view = View.inflate(context, R.layout.page_five, null);
                 }else if(position == 5){
                  view = View.inflate(context, R.layout.page_six, null);
                 }
                    ((ViewPager) collection).addView(view,position);
                   
                    return view;
                }

               
                public void destroyItem(View collection, int position, Object view) {
                        ((ViewPager) collection).removeView((View) view);
                }

               
               
               
                public boolean isViewFromObject(View view, Object object) {
                        return view==((View)object);
                }

               
               
                public void finishUpdate(View v) {
                }
               

               
                public void restoreState(Parcelable pc, ClassLoader cl) {
                }

               
                public Parcelable saveState() {
                        return null;
                }

               
                public void startUpdate(View v) {
                }
       
    }
   
   
}

 

 

------------

 

layout

 

page_one.xml

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">
    
        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_gravity="center"
            android:adjustViewBounds="true"
            android:scaleType="fitXY"
            android:src="@drawable/portfolio_happyshop" />

</LinearLayout>

 

이렇게 6개 만들어서 page_six.xml 까지 만들었거든요!

ㅠ.ㅠ힝도움좀부탁드릴게요...