el segundo enfoque es más elegante, ya que internamente, el TextView
(o lo que sea View
-class) hará el trabajo de conseguir? la Cadena para su recurso especificado.
Dejar que los componentes hagan el trabajo interno siempre es preferible. Además, es más corto y más legible.
Acerca de los componentes internos que hablé: Si usted tiene un vistazo a los androides código fuente, se puede ver que el setText(int)
-method de TextView
is implemented like this:
public final void setText(int resid) {
setText(getContext().getResources().getText(resid));
}
Así, internamente utiliza el Context
-clase para obtener la cadena de la id de recurso. Ahora, si nos fijamos en la getText()
-method (que también viene de la Context
-class), se puede ver que is implemented the same way:
public final String getString(int resId) {
return getResources().getString(resId);
}
Así, por rendimiento o la confiabilidad de razones, no hace ninguna diferencia. Aún así, es más corto y más legible.
Gracias, perfecto! –
@Shamrflow Actualicé la respuesta con algún código de la fuente de Android para mostrar, que se implementa de la misma manera. Echar un vistazo. –
Gracias Lukas, incluso mejor. Me di cuenta de que también es cierto para setTitle y setMessage en AlertBuilder, y algunas otras clases. ¡Aclamaciones! –