2013-06-18 3 views
0

this link에서 무한보기 호출기를 시도했습니다. 이 코딩에 따라 현재 항목 위치를 얻는 방법을 알고 싶습니다. viewPager의 getCurrentItem 메소드에서 위치를 검색합니다. 그러나 위치가 잘못되었습니다. 콜백 OnPageChangeListener 메서드를 시도했지만 작동하지 않습니다. 가로로 화면을 이동하면서이 viewpager의 현재 페이지를 표시보기 호출기에서 현재 항목 위치 가져 오기

+0

vp.getCurrentItem() 여기서 vp는 내가 볼 수 있도록 view-pager.post 일부 코드입니다. – TheFlash

+0

'onPageSelected' 메서드에서 위치 인덱스를 얻었고이 위치에서 배열을 찾습니다. 위치 지수가 잘못되어 예외가 발생했습니다. – user1156041

답변

0
mPager.setOnPageChangeListener(new OnPageChangeListener() { 

     @Override 
     public void onPageSelected(int arg0) { 

      switch (arg0) { 
      case 1: 

       fragment1 = (Fragment1) getSupportFragmentManager() 
       .findFragmentByTag(
         "android:switcher:" + R.id.pager + ":" 
           + (arg0 - 1)); 
       Bundle bundle =fragment1.SaveComplaintData(); 
       if(bundle.size()==0){ 
        mPager.setCurrentItem(0); 
       } 
       else{ 
       data.setBundle(bundle); 
       } 
       break; 

      case 2: 

       fragment2 = (fragment2) getSupportFragmentManager() 
       .findFragmentByTag(
         "android:switcher:" + R.id.pager + ":" 
           + (arg0 - 1)); 


       break; 

      default: 
       break; 
      } 
      btnAction(arg0); 
     } 

     @Override 
     public void onPageScrolled(int arg0, float arg1, int arg2) { 

     } 

     @Override 
     public void onPageScrollStateChanged(int arg0) { 

     } 

    }); 
+0

현재 물품 위치를 얻고 싶습니다. – user1156041

+0

내가 코딩을 했어. 하지만 널 조각이있어. 조각을 찾을 수 없습니다. – user1156041

0

감사합니다.

viewPager.setOnPageChangeListener(new OnPageChangeListener() { 

      public void onPageSelected(int arg0) { 
       // TODO Auto-generated method stub 

      } 

      public void onPageScrolled(int arg0, float arg1, int arg2) { 
       // TODO Auto-generated method stub 
       int currentPage = viewPager.getCurrentItem() + 1; 
       textView.setText(currentPage + " out of " + ...); 
      } 

      public void onPageScrollStateChanged(int arg0) { 
       // TODO Auto-generated method stub 
       int currentPage = viewPager.getCurrentItem() + 1; 
       textView.setText(currentPage + " out of " + ...); 

      } 
     }); 

대신 ...을 입력하면 현재 항목의 총 페이지 수를 입력 할 수 있습니다.

+0

게시 내용에 대한 답변을 편집 할 수 있습니까? –

+0

화면을 가로로 움직이는 동안 뷰 페이지의 현재 페이지를 표시합니다. –

+0

대신 "..."을 사용하면 현재 항목의 총 페이지 수를 입력 할 수 있습니다. –

관련 문제