¿Pueden los recursos de ID de Android referirse hacia adelante?

¿Los recursos de id pueden referirse a un elemento más adelante en el archivo?

Aquí tengo dos campos, uno para el nombre de usuario y otro para la contraseña. Creo un nuevo recurso de ID (con la sintaxis @+id/ ) para el campo de contraseña, pero el campo de nombre de usuario no puede encontrarlo en el campo android:nextFocusDown . He omitido otros campos del xml de la disposición, porque no son relevantes.

¿Cómo necesito declarar los IDs en este caso?

 <EditText android:id="@+id/login_username" android:nextFocusDown="@id/login_password" /> <EditText android:id="@+id/login_password" android:nextFocusUp="@id/login_username" android:nextFocusDown="@id/login_submit" /> 

Construyendo con gradle, estoy recibiendo un error que se parece a esto: Error:(41, 32) No resource found that matches the given name (at 'nextFocusDown' with value '@id/login_password').

No obtengo un error para android:nextFocusUp="@id/login_username" campo, lo que me lleva a creer que debe declarar el ID antes de usarlo.

También obtengo errores de compilación en mi código, porque no se está generando ningún archivo R.java , lo más probable es que los recursos que genera no están construyendo tampoco.

Con todas las herramientas de construcción de fantasía en Android, me sorprende que este es un problema. ¿Se trata de un problema conocido o de un comportamiento deseado?

2 Solutions collect form web for “¿Pueden los recursos de ID de Android referirse hacia adelante?”

Puede pre-generar algunos identificadores mediante la creación de valores de archivo / ids.xml con algo como esto

 <resources> <item name="login_password" type="id"/> </resources> 

Aquí tienes tu caso https://stackoverflow.com/a/12247971/4178124

Puede especificar un @ + id en el primer valor

 <EditText android:id="@+id/login_username" android:nextFocusDown="@+id/login_password" /> <EditText android:id="@+id/login_password" android:nextFocusUp="@id/login_username" android:nextFocusDown="@id/login_submit" /> 

No hay daño a tener múltiples @ + id alrededor. Podría hacer que la detección de errores tipográficos sea un poco más difícil, pero si lo necesita, funcionará bien.

  • Recuperar el estado de la conexión wifi (Android)
  • ¿Cuáles son los beneficios de usar WeakReferences?
  • Programa se bloquea en .connect () en Android, no se conecta
  • Android: Detectar el botón ACTION_UP fuera del evento
  • Cómo mantener las cookies de sesión HTTP en HttpContext entre las actividades en Android?
  • Error al descifrar en java
  • Android: SMSManager - Intento de obtener longitud de matriz nula
  • Ejecutar javascript función de java
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.