cách tiếp cận thứ hai là thanh lịch hơn, vì trong nội bộ, các TextView
(hoặc bất kỳ View
đẳng cấp) sẽ thực hiện công việc nhận được? Chuỗi cho tài nguyên được chỉ định của bạn.
Để các thành phần làm việc nội bộ luôn được ưu tiên. Ngoài ra, nó ngắn hơn và dễ đọc hơn.
Về internals tôi đã nói chuyện về: Nếu bạn có một cái nhìn tại Androids mã nguồn, bạn có thể thấy rằng setText(int)
-method của TextView
is implemented like this:
public final void setText(int resid) {
setText(getContext().getResources().getText(resid));
}
Vì vậy, nó sử dụng trong nội bộ Context
-class để lấy chuỗi từ id tài nguyên. Bây giờ, nếu bạn nhìn vào getText()
-method (mà cũng xuất phát từ Context
đẳng cấp), bạn có thể thấy rằng nó is implemented the same way:
public final String getString(int resId) {
return getResources().getString(resId);
}
Vì vậy, cho hiệu suất hoặc độ tin cậy lý do này, nó làm cho không có sự khác biệt. Tuy nhiên, nó ngắn hơn và dễ đọc hơn.
Nguồn
2012-04-12 09:28:17
Cảm ơn bạn, hoàn hảo! –
@Shamrflow Tôi cập nhật câu trả lời với một số mã từ nguồn Android để hiển thị, rằng nó được thực hiện theo cùng một cách. Có một cái nhìn. –
Cảm ơn bạn Lukas, thậm chí tốt hơn. Tôi đã nhận thấy nó cũng đúng đối với setTitle và setMessage trong AlertBuilder và một vài lớp khác. Chúc mừng! –