Tôi đang gặp sự cố khi tìm ví dụ hoạt động về sử dụng phân đoạn + RoboGuice. Sự cố xảy ra khi bạn cố gắng thêm/xóa phân đoạn bằng trình quản lý giao dịch phân đoạn Android. Một khi bạn nói mảnh vỡ kế thừa từ RoboFragment, người quản lý giao dịch không còn nghĩ lớp đó là một mảnh (vì nó mở rộng RoboFragment). Tuy nhiên, bạn có thể sử dụng trình quản lý phân đoạn riêng của RoboGuice nhưng nó cũng bị treo. Có bất kỳ ví dụ nào ngoài việc thêm/xóa các đoạn RoboGuice tự động không?Bất kỳ ví dụ đơn giản nào sử dụng roboguice với các đoạn trong android?
Trả lời
Roboguice 1.x không tương thích với thư viện compat và phân đoạn. Bạn sẽ phải di chuyển 2.0, bản beta hoặc mở rộng các lớp Fragment *.
Thông tin chi tiết có tại:
http://groups.google.com/group/roboguice/browse_thread/thread/2858bc10b83b6beb
Tôi vừa mới bắt đầu sử dụng các mảnh vỡ trên một dự án mới, và sau đây là mã Tôi đang sử dụng
Tôi không kế thừa từ lớp RoboFragment, nhưng tôi đang làm chính xác như vậy bằng cách thêm các dòng sau vào các phương thức onCreate và onViewCreated của tôi. Thừa kế từ RoboFragment không nên có bất kỳ sự khác biệt nào, trên thực tế đây là những gì mà RoboFragment trông như thế nào.
public void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
RoboGuice.getInjector(getActivity()).injectMembersWithoutViews(this);
}
public void onViewCreated(final View view, final Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
RoboGuice.getInjector(getActivity()).injectViewMembers(this);
// Do whatever with your injected views.
}
Rõ ràng là tôi cũng đã triển khai onCreateView.
Sau đó, trong Hoạt động của tôi, tôi mở rộng FragmentActivity khi tôi đang sử dụng compatibility package. Lưu ý, bạn phải sử dụng FragmentActivity nếu bạn muốn tương thích với mức API trước 11. Nếu bạn chỉ hỗ trợ 11 cộng với bạn không cần lib tương thích hoặc sử dụng FragementActivity. Trong hoạt động của tôi, tôi sử dụng phần sau để thêm đoạn vào trang của tôi.
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.add(R.id.fragmentHolder, new MyFragment());
transaction.commit();
Loại R.id.fragmentHolder là FrameLayout.
Mọi thứ hoạt động tốt với điều này và tôi có thể sử dụng tất cả tài nguyên được tiêm và lượt xem trong đoạn của mình. Để hoàn thành, tôi đang sử dụng phiên bản 2.0-SNAPSHOT mới nhất của roboguice với phiên bản r6 của thư viện compatibity-v4 chống lại Android 2.2.1.
Cảm ơn King. Bạn có bất kỳ mã nào bạn đã tìm thấy hoặc có thể tạo sẵn các đoạn mã thực sự làm những việc có ý nghĩa không? – danb
Tôi e rằng tôi không, tuy nhiên bạn có thể làm bất cứ điều gì bạn có thể làm với Hoạt động trong một Phân đoạn. Phần khác duy nhất là truyền dữ liệu từ một Phân đoạn này sang một Phân đoạn khác vì chúng không giao tiếp trực tiếp. Cách tôi đã nhìn thấy cách tiếp cận này là kiểm tra kiểu getActivity() trong onCreate() và đảm bảo rằng một số giao diện mà bạn đã tạo để chấp nhận dữ liệu từ đoạn. Bằng cách này, Hoạt động của bạn có thể triển khai giao diện này và chuyển dữ liệu nếu cần đến đoạn tiếp theo. – Kingamajick
Bạn có chắc chắn rằng nó hoạt động không? Khi tôi thử nó với Roboguice 2.0 tôi nhận được 'IllegalArgumentException: MyFragmentActivity dường như không phải là một ngữ cảnh RoboGuice (instanceof RoboContext)' –
- 1. Android Scroller ví dụ đơn giản
- 2. ví dụ đơn giản để sử dụng require.js
- 3. Ví dụ đơn giản với Guice Servlets
- 4. MKAnnotation, ví dụ đơn giản
- 5. Ví dụ đơn giản về sử dụng __setstate__ và __getstate__
- 6. Ví dụ đơn giản về DispatcherHelper
- 7. M-V-VM - Bất kỳ Ví dụ nào về việc sử dụng các lệnh trong ViewModel?
- 8. ví dụ đơn giản cho Erlang memoization
- 9. Ví dụ hoạt hình tween đơn giản
- 10. Bất kỳ ví dụ nào về các ứng dụng sản xuất sử dụng cây chữ ký?
- 11. Bất kỳ ví dụ nào tốt cho trình phát bóng mở trong Android?
- 12. MVC3 DropDownListFor - một ví dụ đơn giản?
- 13. Ví dụ về Deadlock đơn giản
- 14. Ví dụ về tab kivy đơn giản
- 15. Bất kỳ ví dụ thực tế nào về sử dụng LockSupport & AbstractQueuedSynchronizer?
- 16. Ví dụ sự kiện luồng đơn giản
- 17. Qt: Ví dụ đơn giản cho Quazip
- 18. Ví dụ về Paypal IPN đơn giản?
- 19. Ví dụ đơn giản của Masstransit với RabbitMQ
- 20. Ví dụ đơn giản C++ hash_set
- 21. Ví dụ gọi lại RMI đơn giản
- 22. UINavigationController: Ví dụ đơn giản nhất
- 23. Có bất kỳ ví dụ nào về quadtrees đang được sử dụng trong HTML5 Canvas không?
- 24. Có bất kỳ ví dụ nào trong khung .Net sử dụng spinlock hoặc spinwait không?
- 25. Sử dụng ví dụ Android của RtpStream
- 26. Một ví dụ phân tán đơn giản trong D3.js?
- 27. Một AJAX đơn giản với ví dụ JSP
- 28. Bất kỳ ví dụ về trò chơi nào ở Scala?
- 29. Bất kỳ biểu thức boolean đơn giản nào không?
- 30. Ví dụ đơn giản, làm việc của Quartz.net
Tôi có RoboGuice và Fragments làm việc trong một ứng dụng độc đáo. Bạn có thể cung cấp dấu vết ngăn xếp để chúng tôi có thể xem vấn đề là gì không? –
Ngoài ra, bạn đang sử dụng phiên bản thư viện tương thích nào? –
Tôi cũng làm việc đó. –