¿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.

  • Ejecutar este código de ejemplo GTFS
  • ¿Cómo alinear el cursor EditText correctamente?
  • Utilice los módulos Dagger sin la directiva "inyecta"
  • GC optimization: declarando el objeto como campo opuesto a declararlo localmente
  • Android: ¿Cómo puedo establecer un listener para el MenuButton?
  • Compilar, Proporcionado, APK - Android dependencia alcance
  • ¿Cómo agregar un fragmento en mi actividad dinámicamente?
  • Android Threading: Esta clase de Handler debe ser estática o pueden producirse fugas
  • Prueba del código de Android con JUnit y el JDK
  • Adaptador de ListView personalizado lanza UnsupportedOperationException
  • Evitar el vuelco de la cámara frontal
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.