Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Dos vistas con id mismo

¿Cómo usa android el R.id.id_name de R.id.id_name para encontrar vistas después de inflar el XML?

1.Suppose Tengo dos XML con un botón cada uno con la misma identificación.

  • Códigos de ejemplo para Android Programación Bluetooth
  • "Actualización de la biblioteca de Android" la tarea eclipse bloqueó aleatoriamente mi eclipse al iniciar
  • El servicio de reproducción de Google deja de funcionar cuando hago una compra con android.test.purchased
  • ¿Cómo mostrar el símbolo de copyright en un cuadro de diálogo de Android?
  • SurfaceView en el diseño
  • Android: Deshabilita la vibración predeterminada de OnLongClick
  • 2.I los he inflado y convertido en puntos de vista

    3. En la clase R.id solo se creará un int para ambos botones.

    ¿Cómo diferencia el android estos botones con el mismo id Usando el mismo nombre del recurso (R.id.id_name).

  • Gradle buildType / productFlavor utilizando inesperado buildConfigField
  • ¿StartService () crea una nueva instancia de servicio o utiliza la existente?
  • Diccionario personalizado para Tesseract
  • Android Studio Versión no compatible del complemento Gradle
  • ¿Cómo configurar el módulo de la Biblioteca de Android y ser referenciado por varios proyectos en Android Studio?
  • Permitir que el usuario seleccione cámara o galería para la imagen
  • 3 Solutions collect form web for “Dos vistas con id mismo”

    El ID no es una referencia única.

    Sin embargo, en la práctica, se diferencia mediante la vista principal.

    Si consideramos que 'esto' es una Actividad, configurada con un diseño que contiene los botones, entonces:

     Button button = (Button) this.findViewById( R.id.id_name ); 

    Devolverá el primero que encuentre en el diseño (creo – no estoy seguro de que el comportamiento real está definido).

    Sin embargo, lo que puede hacer es llamar a findViewById en alguna vista padre que contenga sólo una instancia con ese ID.

     LinearLayout okParent = (LinearLayout) this.findViewById( R.id.okLayout ); LinearLayout cancelParent = (LinearLayout) this.findViewById( R.id.cancelLayout ); Button okButton = (Button) okParent.findViewById( R.id.id_name ); Button cancelButton = (Button) cancelParent.findViewById( R.id.id_name ); 

    Conceptualmente, esto es un tipo de búsqueda basada en la ruta. Usted debe tener cuidado de diseñar sus diseños de tal manera que esto es posible.

    Android tiene un camino fácil: los identificadores no son únicos en toda la aplicación, sino únicos en toda la distribución.

    El valor de R.id.foo es el mismo en dos diseños diferentes que contienen un control con foo id. Puesto que no están compitiendo para la unicidad, no importa.

    Sabe qué View debe usar, porque busca View con este id específico en un archivo XML que actualmente está configurado como vista de contenido (o está inflada).

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.