simbolo signo significa que pesos origen este estadounidense dólar donde dolar dinero cual copiar americano java android

java - que - ¿Cuál es el significado de un signo de dólar antes de un ID de recurso de Android



simbolo del dolar (2)

En la respuesta aceptada de la siguiente publicación ( teclado numérico personalizado de Android ) encontré una sintaxis que no entiendo:

$(R.id.t9_key_0).setOnClickListener(this);

¿Qué significa el signo de dólar en frente? ¿Está específicamente relacionado con los ID de recursos de Android o es más una sintaxis general de Java? Los resultados del motor de búsqueda no mostraron ningún resultado adecuado.


Antes, sabíamos que necesitábamos convertir cada tipo de findViewById() método findViewById() . Me gusta

manera usual

TextView textView = (TextView) findViewById(R.id.textView);

Esta forma de chico

TextView textView = $(R.id.textView);

Ignoró el encasillamiento por su método genérico.

Entonces el tipo usó Java genérico para ignorar el tipo que lanza todo el findViewById(); . Si no entiende los genéricos, lea por qué usar los genéricos .

protected <T extends View> T $(@IdRes int id) { return (T) super.findViewById(id); }

Entonces ahora no necesita escribir el reparto

TextView textView = $(R.id.textView);

Explicación de este método.

  • Él creó un método que acepta la identificación de recursos. Entonces él puede pasar un Id.
  • @IdRes este parámetro mediante @IdRes para que Android Studio solo permita los identificadores de recursos en este parámetro.
  • Luego llamó al método de findViewById que devuelve View.
  • Devolvió <T extends View> del método, por lo que siempre tendrá el objeto View en return type.

Importante

Ahora no necesita hacer sus métodos genéricos. Porque el propio Android ha cambiado su método. Consulte Android Oreo Changes para findViewById() .

Todas las instancias del método findViewById () ahora devuelven T en lugar de Ver.

Ahora también puedes hacer lo mismo como ese tipo sin encasillar

TextView textView = findViewById(R.id.textView);