33

Tôi muốn biết là có thể sử dụng lớp FragmentStatePagerAdapter hoặc tương đương của nó mà không có thư viện hỗ trợ không?Sử dụng FragmentStatePagerAdapter KHÔNG hỗ trợ thư viện

Tôi biết cách sử dụng các mảnh gốc thay cho lớp từ thư viện hỗ trợ và nhiều lớp khác có tương đương nhau, nhưng tôi không thể tìm thấy những gì nên được sử dụng thay cho lớp này.

tôi về cơ bản muốn mở rộng nó để sử dụng nó trong bộ chuyển đổi của tôi như thế này

public class ImageAdapter extends FragmentStatePagerAdapter {... 
+9

có, có thể ... bạn phải sao chép tất cả mã cần thiết từ thư viện hỗ trợ vào dự án của bạn .... nhưng bạn có thể sử dụng 'android .support.v13.app.FragmentStatePagerAdapter' thay vào đó 'android.support.v4.app.FragmentStatePagerAdapter' (và sử dụng thư viện supportv13) ...' android.support.v13.app.FragmentStatePagerAdapter' đang sử dụng Phân đoạn gốc không phải là từ hỗ trợ ... – Selvin

+4

Cảm ơn bạn đã trả lời. Tôi hoàn toàn quên về v13 ... Nhưng tôi thực sự muốn đơn giản hóa cấu trúc dự án của tôi bằng cách loại bỏ các thư viện hỗ trợ và tương tự. Tôi vẫn không thể tin rằng không có lớp tương đương bên trong gói android.app vì lớp Fragment đã có sẵn cùng với android.app.FragmentManager nhưng không có bộ điều hợp ... – PSIXO

Trả lời

16

Tôi đoán bạn đã đọc ViewPagerdocs, nhưng chỉ trong trường hợp:

lớp này hiện theo thiết kế và phát triển ban đầu. API có thể sẽ thay đổi trong các bản cập nhật sau của thư viện tương thích, yêu cầu thay đổi mã nguồn của ứng dụng khi chúng được biên dịch so với phiên bản mới hơn.

Tôi cũng ban đầu bối rối là tại sao các lớp PagerAdapter không phải là một phần của không gian tên android.app.*. Vì chúng vẫn đang trong quá trình sàng lọc, chúng được đưa vào các thư viện hỗ trợ để các thư viện đó có thể được cập nhật thường xuyên khi các thay đổi được giới thiệu (cập nhật AOSP kém thuận tiện hơn và do đó xảy ra trên cơ sở ít thường xuyên hơn). Dường như một khi đội Android đưa ra hình dạng cuối cùng cho ViewPager và tất cả các lớp liên quan của nó, họ sẽ trở thành một phần của AOSP. Ngay cả bản thân lớp ViewPager vẫn là một phần của thư viện hỗ trợ V4. Vì vậy, những gì bạn muốn có thể trong tương lai gần ... :)

+0

Cảm ơn bạn đã trả lời. Như bạn đã đề cập thêm nó vào mã AOSP sẽ yêu cầu người dùng phải có phiên bản mới của android vì vậy bởi tính năng gần tôi sẽ nghĩ nhiều hơn dọc theo dòng 2 năm ... Tôi không hiểu tại sao họ chưa hoàn thành API và chỉ cần đặt mã đã được trong thư viện hỗ trợ 2 năm trước đây. – PSIXO

+0

Họ thậm chí có thể làm điều tương thích khủng khiếp mà đôi khi họ làm khi tài liệu "Phương pháp này hiện không làm gì cả, nhưng sẽ làm một cái gì đó trong tính năng/thực hiện trong quá khứ" với các phương pháp mà họ đang lên kế hoạch mặc dù tôi nghi ngờ họ sẽ thêm các chức năng mới và các thay đổi có thể sẽ có hiệu suất và tối ưu hóa bộ nhớ. – PSIXO

Các vấn đề liên quan