2012-06-14 40 views
6

Vì vậy, về cơ bản tôi muốn điền các trang bên trong ViewPager với bố cục XML riêng biệt cho mỗi vị trí xem. Tôi hiện đang làm điều này bằng cáchThổi phồng bố cục mới xml cho mỗi chế độ xem - instantiateItem trong PagerAdapter

@Override 
    public Object instantiateItem(View container, int position) { 

     LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(mContext.LAYOUT_INFLATER_SERVICE); 

     if(position == 0){ 
     view = inflater.inflate(R.layout.main, null); 
     ((ViewPager) container).addView(view, 0); 
     } 
     if(position == 1){ 
      view = inflater.inflate(R.layout.main_second, null); 
      ((ViewPager) container).addView(view, 0); 
     } 
     if(position == 2){ 
      view = inflater.inflate(R.layout.main_third, null); 
      ((ViewPager) container).addView(view, 0); 
     } 

     return view; 
} 

Chế độ xem được hiển thị chính xác lúc đầu, nhưng khi tôi vuốt ViewPager, Bố cục bị ẩn/hủy. Tại sao điều này? Tôi đang làm điều đó một cách sai lầm? xin vui lòng giúp đỡ và sửa tôi.

Cảm ơn. Tình yêu. Wesley

+0

bạn có thể nhận giải pháp không? – CoronaPintu

+0

Nó cũng có thể giúp http://stackoverflow.com/a/37916222/3496570 – Nepster

Trả lời

14

Khám phá this link để có hướng dẫn tốt về cách kết hợp tất cả lại với nhau. Về cơ bản, ý tưởng là bạn phải thêm chế độ xem mới được tăng vào bộ sưu tập ViewPager:

View view = inflater.inflate(resId, null); 
((ViewPager) collection).addView(view, 0); 
+0

nơi để thực hiện điều này, bạn có thể giải thích thêm? – CoronaPintu

+0

@Pintu, đặt mã này trong phương thức instantiateItem sau câu lệnh chuyển đổi. Xem bước 4 của liên kết hướng dẫn trong bài đăng của tôi. – rundavidrun