Có similar question nơi hầu hết các lời khuyên để sử dụng getActivity()
để có được ngữ cảnh của một đoạn, nhưng làm thế nào để có được tham chiếu đến hoạt động/ngữ cảnh nếu đoạn được tách ra (trong trường hợp này, getActivity()
trả về null)?Nhận bối cảnh/hoạt động trong phân đoạn tách rời?
Tình huống của tôi là đoạn của tôi bắt đầu AsyncTask, khi hoàn thành, gọi phương thức onSuccess()
của đoạn của tôi. Nhưng phương pháp onSuccess()
của phân đoạn của tôi yêu cầu một ngữ cảnh để hiển thị thông báo Bánh mì nướng hoặc để truy cập vào các tùy chọn được chia sẻ. Vì vậy, có một cách đáng tin cậy để có được bối cảnh?
Một cách tôi đang xem xét là chuyển đối tượng ngữ cảnh vào hàm tạo AsyncTask của tôi và chuyển nó trở lại phương thức gọi lại onSuccess()
đã nói ở trên của tôi - nhưng điều này có thể dẫn đến rò rỉ bộ nhớ không?
(. NB - Có một câu trả lời here cho thấy làm thế nào để lấy lại hoạt động hiện tại nhưng, một lần nữa, nó đòi hỏi một bối cảnh hợp lệ)
bạn đã thử getApplicationContext() chưa? –
phương pháp onattach được gọi là đầu tiên, trong đó bạn sẽ nhận được hoạt động refrence, lưu trữ nó và sử dụng nó. – Dev