2012-04-25 3 views
1

페이저 어댑터를 성공적으로 사용하고 있지만 각 '페이지'에 클릭 수신기를 추가하는 방법을 알고 싶습니다. 그런 다음 인 텐트를 사용하여 활동을 시작합니다. 각자 xml 파일을 가진 5 페이지가 있습니다. 여기 코드는 다음과 같습니다PagerAdapter onclick 메서드

public class MyActivity extends Activity { 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     MyPagerAdapter adapter = new MyPagerAdapter(); 
     ViewPager myPager = (ViewPager) findViewById(R.id.myfivepanelpager); 
     myPager.setAdapter(adapter); 
     myPager.setCurrentItem(0); 



private class MyPagerAdapter extends PagerAdapter { 



     public int getCount() { 
       return 5; 
     } 

     public Object instantiateItem(View collection, int position) { 

       LayoutInflater inflater = (LayoutInflater) collection.getContext() 
           .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 

       int resId = 0; 
       switch (position) { 
       case 0: 
         resId = R.layout.farleft; 
         break; 
       case 1: 
         resId = R.layout.left; 
         break; 
       case 2: 
         resId = R.layout.middle; 
         break; 
       case 3: 
         resId = R.layout.right; 
         break; 
       case 4: 
         resId = R.layout.farright; 
         break; 
       } 

       View view = inflater.inflate(resId, null); 

       ((ViewPager) collection).addView(view, 0); 

       return view; 
     } 



     @Override 
     public void destroyItem(View arg0, int arg1, Object arg2) { 
       ((ViewPager) arg0).removeView((View) arg2); 

     } 

     @Override 
     public void finishUpdate(View arg0) { 
       // TODO Auto-generated method stub 

     } 

     @Override 
     public boolean isViewFromObject(View arg0, Object arg1) { 
       return arg0 == ((View) arg1); 

     } 

     @Override 
     public void restoreState(Parcelable arg0, ClassLoader arg1) { 
       // TODO Auto-generated method stub 

     } 

     @Override 
     public Parcelable saveState() { 
       // TODO Auto-generated method stub 
       return null; 
     } 

     @Override 
     public void startUpdate(View arg0) { 
       // TODO Auto-generated method stub 

     } 

} 

}

답변

4

간단하게 사용이

그래도 난이 되었는데요
view.setOnClickListener() 
+0

? 나는 행이 없습니다. – Pete

+0

죄송합니다.보기가 아닌 행입니다. –

+0

이것이 실제로 맞았습니다. 이것은 또한 나를 도왔다 : http://stackoverflow.com/questions/10243909/passing-a-fragment-in-the-constructor-of-an-adapter – Pete

관련 문제