2015-06-16 20 views

Trả lời

489

Tìm thấy câu trả lời trên của riêng tôi chỉ muốn chia sẻ it.i.e,

ViewPager.setOnPageChangeListener bị phản đối ngay bây giờ. Cần sử dụng ViewPager.addOnPageChangeListener để thay thế.

ví dụ,

ViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { 
     @Override 
     public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { 

     } 

     @Override 
     public void onPageSelected(int position) { 

     } 

     @Override 
     public void onPageScrollStateChanged(int state) { 

     } 
    }); 

Bạn có thể tìm thấy điều này ở Google Developer site.

+2

Có vẻ như Eclipse thậm chí không thể tìm thấy phương thức addOnPageChangeListener, tôi có thể hỏi thư viện hỗ trợ này là gì không? –

+5

Tôi nghĩ rằng một đề cập đến clearOnPageChangeListeners() là xứng đáng ở đây, do đó, một trong không kết thúc với nhiều người nghe khi sử dụng addOnPageChangeListener(). – clocksmith

+2

Điều đó thật khó hiểu. Nó sẽ được tốt đẹp nếu họ giữ với cú pháp tương tự và chỉ cần thay thế cuộc gọi này hoặc một cái gì đó với các phiên bản cập nhật. –

5

Bạn có thể đạt được thông qua SimpleOnPageChangeListener Dưới đây là Code:

private Fragment page = null; 
/** Defining a listener for pageChange */ 
     ViewPager.SimpleOnPageChangeListener pageChangeListener = new ViewPager.SimpleOnPageChangeListener(){ 
      @Override 
      public void onPageSelected(int position) { 
       super.onPageSelected(position); 

       page = getSupportFragmentManager().findFragmentByTag("android:switcher:" + R.id.pager_selectPhotos + ":" + position); 

       System.out.println(page); 
       switch (position) { 
       case 0: 

        break; 
       case 1: 

        break; 

       default: 
        break; 
       } 
      } 
     }; 
     /** Setting the pageChange listener to the viewPager */ 
     _pager.setOnPageChangeListener(pageChangeListener); 
+0

Câu hỏi là một thay thế cho các * deprecated * setOnPageChangeListener chức năng. – Elementary

32

Sử dụng ViewPager.addOnPageChangeListener thay vì ViewPager.setOnPageChangeListener.

33

này làm việc cho tôi:

viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener(){ 

    @Override 
    public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {  
     conterchange.setText(""+(1+position)); 
    } 

    @Override 
    public void onPageSelected(int position) { 
    } 

    @Override 
    public void onPageScrollStateChanged(int state) { 
    } 
}); 
Các vấn đề liên quan