Có cách nào để truy cập chế độ xem bố cục từ lớp không có nguồn gốc Hoạt động không? Tôi đang tạo một lớp Accordion và cần truy cập vào một số yếu tố giao diện người dùng của hoạt động. Tôi đang chuyển ngữ cảnh của hoạt động tới hàm tạo của lớp accordion của tôi, nhưng API findViewById chỉ có sẵn từ lớp Activity. Tôi cũng không muốn vượt qua trong một ví dụ về hoạt động của tôi vì nó dường như bị cau mày do rò rỉ bộ nhớ tiềm ẩn.Gọi findViewById() từ bên ngoài hoạt động
10
A
Trả lời
1
Tôi đã thông qua một phiên bản của một trong các khung nhìn vào hàm tạo của lớp.
2
Ngữ cảnh hoạt động thực tế là chính lớp Hoạt động. Giả sử rằng đối tượng này sẽ sống bên trong chỉ một Activity, nó sẽ an toàn để truyền đối tượng của Activity type cho nó. Nếu không, hãy nghĩ đến việc tái cấu trúc lớp Accordion của bạn.
2
Đây là thứ có thể hữu ích.
Tôi chưa bao giờ thử một cái gì đó như thế này. Tôi cũng không biết nếu nó không bị bất kỳ rò rỉ bộ nhớ nào. Nhưng nó làm những gì bạn hỏi :) "Gọi findViewById() từ bên ngoài một hoạt động"
15
Tôi chắc chắn bạn chỉ có thể chuyển một hoạt động dưới dạng tham số, ví dụ:
public void initSouthViews(Activity activity) {
for (int i = 0; i < southScores_.length; ++i) {
southScores_[i] = (EditText) activity.findViewById(10);
}
}
Các vấn đề liên quan
- 1. Cách gọi getWindow() bên ngoài Hoạt động trong Android?
- 2. gọi trở RedirectToAction ("Hoạt động") bên ngoài điều khiển
- 3. onActivityResult bên ngoài phạm vi hoạt động
- 4. Bên ngoài tham gia không hoạt động?
- 5. findViewById() không hoạt động trong lớp MainActivity
- 6. Gọi hàm lớp bên ngoài từ lớp bên trong
- 7. CKEDITOR, gọi hành động FullScreen bên ngoài CKEDITOR
- 8. Gọi một dịch vụ web bên ngoài từ một servlet
- 9. gọi hàm Javascript từ BÊN NGOÀI trình duyệt?
- 10. iOS - UIPasteboard không hoạt động bên ngoài ứng dụng
- 11. Gọi dịch vụ web json bên ngoài từ asp.net C#
- 12. Cách gọi URL bên ngoài từ giải pháp ASP.NET MVC
- 13. Sử dụng getAssets bên ngoài một hoạt động
- 14. ngữ cảnh Android bên ngoài lớp Hoạt động
- 15. DOMPDF không hoạt động với tệp css bên ngoài
- 16. iframe có trang bên ngoài không hoạt động
- 17. Gọi một hàm bên trong một plugin jQuery từ bên ngoài
- 18. findViewById bên trong một Static Method
- 19. Phương thức hoạt động gọi từ Fragment
- 20. Làm thế nào để gọi hàm bên ngoài bên trong mã jquery từ html?
- 21. Làm thế nào để gọi javascript bên ngoài trên window.load?
- 22. Thực hiện hoạt động Async asp.net mvc bên ngoài hành động
- 23. FindViewById trong đó ID là chuỗi động
- 24. Tự động hoàn thành giao diện người dùng jQuery: Kích hoạt tìm kiếm Từ bên ngoài tự động hoàn tất
- 25. Nhận tham chiếu đến hoạt động gọi từ AsyncTask (KHÔNG phải là lớp bên trong)
- 26. Cách mở tệp bên ngoài từ HTML
- 27. Đăng nhập từ Ứng dụng Bên ngoài
- 28. Các url bên ngoài kiểu khởi động của Twitter không hoạt động
- 29. Add $ LOAD_PATH bên ngoài
- 30. Gọi phương thức hoạt động từ lớp BroadcastReceiver
Bạn nói đúng. Nó hoạt động :) – boctulus