getString()
là phương pháp của lớp Context
¹. Nếu bạn cần nó bên trong một lớp riêng biệt (mà không mở rộng Context
), nó thường là tốt nhất để cung cấp nó như là một đối số riêng biệt cho các phương pháp cần nó.
Ví dụ:
public void logString(Context c, int stringId) {
Log.d("TAG", c.getString(stringId));
}
Một điều rất quan trọng:Never cửa hàng bối cảnh bên trong lớp riêng biệt.
Cung cấp một đối số. Nếu không, bạn sẽ làm mất bộ nhớ và làm gián đoạn toàn bộ vòng đời của android nếu đối tượng lưu trữ ngữ cảnh sống lâu hơn đối tượng nơi ngữ cảnh ban đầu thuộc về (ví dụ: hoạt động).
¹ getString()
cũng có thể được sử dụng từ lớp Resources
- mà bạn có thể nhận được thông qua Context.getResources()
Nguồn
2011-09-17 11:47:34
getResources() là một phương thức của lớp Ngữ cảnh. Bạn không thể sử dụng nó mà không có tham chiếu Context hợp lệ –
Bạn không thể sử dụng getResources. Anh ấy đã giải thích tại sao. – Sotti