Tôi có chế độ xem tùy chỉnh và muốn truy cập vào Chuỗi có sẵn trong hoạt động của nó. Tôi đã nhìn thấy mã sử dụng getContext()
trong lớp chế độ xem, nhưng không có phương pháp nào để truy cập Chuỗi đã được cung cấp cho hoạt động của nó thông qua mục đích. Làm thế nào để tạo chuỗi trong một hoạt động có sẵn cho chế độ xem tùy chỉnh của nó?Chế độ xem tùy chỉnh có thể truy cập hoạt động của nó như thế nào?
Trả lời
Phương pháp này getContext() trong lợi nhuận Xem lớp bối cảnh đã được truyền vào hàm tạo của nó. Thông thường đó là Hoạt động bạn muốn (Hoạt động mở rộng Ngữ cảnh). Vì vậy, điều này có thể phù hợp với bạn:
((Activity)getContext()).someMethod(...);
Tôi là một noob đối với java và android vẫn còn, vì vậy điều này có thể không hoạt động, nhưng tôi chỉ đang cố gắng trợ giúp.
Bạn sẽ có thể vượt qua trong các thông số để intents/hoạt động sử dụng "putExtra" và "getExtra", ví dụ:
Trong hoạt động chính của bạn:
Intent EditDebtActivity = new Intent(getBaseContext(), EditDebt.class);
EditDebtActivity.putExtra(DbAdapter.KEY_ROWID,dRowID);
EditDebtActivity.putExtra(DbAdapter.KEY_DEBT, dName);
EditDebtActivity.putExtra(DbAdapter.KEY_STARTINGAMOUNT, dStartAmount);
EditDebtActivity.putExtra(DbAdapter.KEY_CURRENTAMOUNT, dCurrentAmount);
EditDebtActivity.putExtra(DbAdapter.KEY_DUEDATE, dDueDate);
EditDebtActivity.putExtra(DbAdapter.KEY_INTERESTRATE, dInterestRate);
EditDebtActivity.putExtra(DbAdapter.KEY_MINPAYMENT, dMinPayment);
startActivity(EditDebtActivity);
Sau đó, trong "onCreate" trong chế độ xem mới của bạn, sử dụng như sau:
Bundle extras = getIntent().getExtras();
dRowID = extras.getLong(DbAdapter.KEY_ROWID);
String rowidname = extras.getString(DbAdapter.KEY_DEBT);
currentamount = extras.getDouble(DbAdapter.KEY_CURRENTAMOUNT);
startingamount = extras.getDouble(DbAdapter.KEY_STARTINGAMOUNT);
duedate = extras.getInt(DbAdapter.KEY_DUEDATE);
rõ ràng là tôi đã sử dụng mã của riêng mình tại đây, nhưng tôi chuyển thông tin hàng vào hoạt động mới khi người dùng nhấp vào nút.
Xem này SO liên kết để biết thêm về việc sử dụng putextra và getextra: Sending arrays with Intent.putExtra
Hope this helps, đó là đóng góp đầu tiên của tôi trở lại với cộng đồng :)
R Xin chào những đóng góp đầu tiên của bạn :) tôi có một listview liệt kê tên tệp jpeg ở gốc. khi người dùng chọn, kích hoạt ý định với tên tệp. hoạt động truy xuất có thể lấy tên tệp nhưng chế độ xem là chế độ xem tùy chỉnh không thể truy cập tên tệp. Cảm ơn. – turtleboy
- 1. Làm cách nào để truy cập layout_height từ trong chế độ xem tùy chỉnh của tôi?
- 2. Android ClassCastException khi truy xuất Chế độ xem tùy chỉnh
- 3. Truy cập các thuộc tính của bộ điều khiển chế độ xem (tùy chỉnh)
- 4. Android: tạo chế độ xem tùy chỉnh có thể cuộn
- 5. Chế độ xem ảnh tùy chỉnh
- 6. Làm cách nào để UIMenuController hoạt động cho chế độ xem tùy chỉnh?
- 7. Tôi có thể truy cập C# enum trong chế độ xem Dao cạo của mình không?
- 8. Hoạt ảnh giữa hai trạng thái của chế độ xem, sử dụng hoạt ảnh tùy chỉnh
- 9. Làm thế nào để giữ một cá thể hoạt động đơn lẻ nhưng có thể cập nhật chế độ xem?
- 10. Chế độ xem thông báo tùy chỉnh
- 11. LINQ - nó hoạt động như thế nào?
- 12. Chế độ xem Ngăn xếp bộ điều khiển hoạt động như thế nào trong iOS 5?
- 13. Có thể cuộnChế độ bị tắt trong chế độ xem phố tùy chỉnh không?
- 14. cách truy cập chế độ xem phụ của UIView?
- 15. RelativeLayout không cập nhật đúng chiều rộng của chế độ xem tùy chỉnh
- 16. Jenkins tùy chỉnh chế độ xem lịch sử xây dựng
- 17. Bạn có thể xem hoạt động riêng tư của mình trong github như thế nào?
- 18. Chế độ xem tùy chỉnh trong bố cục xml
- 19. Làm cách nào để chuyển tham chiếu chế độ xem sang chế độ xem tùy chỉnh của Android?
- 20. Android: Có chế độ xem Xem tùy ý trong Chế độ xem khác như bàn phím phần mềm
- 21. Xóa Chế độ xem khỏi Hoạt động
- 22. Khoảng cách phía trên chế độ xem tùy chỉnh NSMenuItem
- 23. ViewModel của tôi có thể xem ObservableCollection của Chế độ xem hoặc Chế độ xem không?
- 24. Chế độ xem trong Nhóm tùy chỉnh Chế độ xem không hiển thị
- 25. Chế độ xem Android tùy chỉnh trong Trình chỉnh sửa trực quan của Eclipse
- 26. Làm cách nào để làm mờ chế độ xem mặt sau khi Chế độ xem tùy chỉnh được hiển thị
- 27. Android lưu trữ Hoạt động từ chế độ xem
- 28. Nền tùy chỉnh trong NSTableView dựa trên chế độ xem
- 29. Laplacian của Gaussian: nó hoạt động như thế nào? (OpenCV)
- 30. Chế độ xem tùy chỉnh ca cao cho NSMenuItem
simao hoàn hảo, cảm ơn rất nhiều. – turtleboy
Đó là giải pháp tốt cho các trường hợp Chế độ xem được tạo trực tiếp bởi Hoạt động. Đây không phải là luôn luôn như vậy. Nếu chế độ xem là chế độ xem của Hộp thoại hoặc PopupWindow thì việc chèn ngữ cảnh dưới dạng Hoạt động sẽ dẫn đến lỗi – EyalBellisha
Như @EyalBellisha chỉ ra, điều này có thể không phải lúc nào cũng hoạt động. Trong trường hợp bối cảnh các widget tương thích được bao bọc, chẳng hạn như trường hợp khi mở rộng từ 'android.support.v *', 'getContext()' sẽ không thuộc loại Activity. Ví dụ, đối với AppCompatButton, nó thuộc kiểu TintContextWrapper và không thể truyền vào Activity. –