¿Cuál es la mejor práctica para nombrar el ID de Elemento XML en Android?

No estoy seguro de si alguien estaba escuchando este problema antes, pero es un gran dolor para mí.

¿Cómo se le da un elemento id a xml en android?

En este momento, establezco el identificador con el patrón [nombre de la actividad / fragmento] [tipo de elemento] [nombre específico] . Por ejemplo, si tuviera un EditText para guardar un correo electrónico que se utiliza en LoginActivity, le daré la identificación 'LoginEditTextEmail'.

El problema que estoy enfrentando es, con este enfoque, el ID a menudo termina en un muy largo.

¿Cómo se establece el ID? cual es la mejor practica?

Los nombres descriptivos son ideales (igual que con el nombre a cualquier variable en cualquier lenguaje de programación).

Creo que ya tienes un buen sistema que ofrecería estas posibles formas de disminuir el tamaño de tus ID

[Nombre de la actividad / del fragmento] – personalmente dejaría caer esto, tienden para utilizar un archivo de la disposición por la actividad / el fragmento de todos modos así que no hay confuso qué actividad la opinión se significa para estar adentro también hay épocas en que reutilizo algunos Ver widgets en múltiples actividades y los dejaré con el mismo ID para que el código para encontrarlos e interactuar con ellos sea simplificado (es decir, puede ser copiar / pegar o poner en una subclase de Actividad)

[Tipo de elemento] – Utilizo una abreviatura de 3 letras para los tipos de widget:

  • Edt = EditarTexto
  • Txt = TextView
  • Lbl = TextView que es estático para etiquetar algo
  • Btn = Botón
  • Prg = ProgressBar
  • Lyt = Diseño
  • Etc …

[Nombre específico] – no hay mejoría real que hacer aquí, tiene que ser tan larga como debe ser para describir lo que es.

Estás complicando cosas. Simplemente nombre de cualquier manera es memorable para usted. Los identificadores sólo tienen que ser únicos por XML (es decir, puede tener 50 diseños diferentes con el id de my_edittext ) ya que encuentra una vista por su ID solo a través de una jerarquía de vista única.

Al igual que nombrar algo, tienden a utilizar el nombre más corto posible que describe con precisión. En el caso de ids para diseños, asegúrese de que cada id es único en su diseño (puede volver a usar el mismo id en un diseño diferente).

Fragmento de gota, actividad y tipo a menos que califiques estos en la codificación, así que:

boolean isLoggedIn = false;

android:id="@+id/is_logged_in"

Como se menciona en otras respuestas, el XML proporciona el calificador, ahora usted tiene que decidir si la consistencia y / o la calificación adicional es necesaria y si conviene. ¿Realmente necesita calificar y si no está apoyando el código va a ser mucho más difícil por usted o cualquier otra persona?

Entonces, ¿qué pasa con strings.xml ?

Prefija el identificador con un frag o un calificador de actividad. Así por ejemplo:

<string name=" profile _is_logged_in_true">Logged in.</string>

<string name=" profile _is_logged_in_false">Not logged in.%</string>

También…

<plurals name="plural_is_logged_in_duration">...

He jugado con:

<string name=" profile _isloggedin_false">Not logged in.</string>

Pero aún no está convencido. Esto es en realidad un problema de clasificación, ahora resuelto en otras disciplinas por etiquetado. Java proporciona espacio de nombres y calificadores de tipos puntuales, por lo que

com.example.android.app.profile.State.isLoggedIn

Android utiliza cosas como R.string 🙂 Así que tienes el Java más algún espacio de nombres adicional de Android. No olvide que puede tener más de un archivo de recursos de cadena, por lo que tal vez:

res/values/widget_defaults.xml

Podría contener algunos valores por defecto para decir un TextView . Las cadenas verdaderas y falsas deben ser manejadas por plurales – pero el ejemplo, con suerte, ayuda, a pesar de un poco inventado.

  • Cambiar el radio de la esquina de programación programable
  • Android Diseño de materiales Navegación Vista -> Elemento
  • Definición del estilo de origen XML de Gradient / Shape / Corners
  • Android cómo hacer que resalte la vista cuando se hace clic?
  • La imagen VectorDrawable se pixeliza
  • Configurar la altura y el ancho del diálogo personalizado
  • Android Spinner Dropdown flecha que no se muestra
  • Cambiar el color del texto en android.R.layout.simple_list_item_2
  • Error en el archivo xml de maven pom: Creando un proyecto Android
  • Android.widget.TextView no se puede convertir en android.view.ViewGroup
  • Mapa de bits de StateListDrawable y mosaico
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.