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


Android: ¿Cómo obtener el ID de un padre Ver?

View.getRoot() devuelve View , por lo que podemos averiguar cuál es la vista raíz utilizando getResourceName(View.getId()) .

View.getParent() …, mientras espero que también devuelve View que es el padre, en realidad sólo devuelve una instancia de ViewParent que parece tener muy muy pocos métodos / campos útiles. Es una mierda.

Entonces, ¿hay alguna manera de conocer el ID del padre? Creo que el padre de View es también View , por lo que debe tener un campo mID.

Realmente me pregunto por qué Google no dejó View.getParent() sólo devuelve View . Tiene sentido, sólo cuando otra cosa aparte de View puede ser el padre, y por lo que sé, se limita a View y sus subclases.

  • ¿Cómo envolver las vistas de contenido en lugar de dibujos de fondo?
  • Android GoogleAnalytics getInstance
  • Android DrawBitMap muy lento cuando se utiliza ARGB_8888
  • Android ImageButton cómo tener un área clickable que es más grande que la imagen sí mismo?
  • Android studio 2.3: No se pudo inicializar la clase org.jetbrains.kotlin.android.actions.NewKotlinActivityAction
  • Establecer imagen desde android.R.drawable en vista de la imagen android
  • Error de dependencia granular de servicio de Google Play
  • Dispositivos Android GL_MAX_TEXTURE_SIZE limitación, tamaño de textura seguro
  • 3 Solutions collect form web for “Android: ¿Cómo obtener el ID de un padre Ver?”

    ViewParent es sólo una interfaz que cualquier vista que puede tener implementos niños. La mayoría de las veces la clase que recuperas será una instancia de un ViewGroup , como LinearLayout o RelativeLayout . No estoy exactamente seguro de lo que quieres decir con "nombre", pero si quieres obtener el nombre de la clase, puedes hacerlo como siempre: view.getParent().getClass().getName() .

    Los documentos indican que el padre no es necesariamente una View :

    Public final ViewParent getParent ()

    Se agrega en API nivel 1 Obtiene el padre de esta vista. Tenga en cuenta que el padre es un ViewParent y no necesariamente una vista.

    Devuelve Parent de esta vista.

    Sin embargo, todas las implementaciones de ViewParent heredan de View . Esta debe ser una decisión de diseño para desacoplar al padre de una View utilizando la interfaz ViewParent , aunque todas las implementaciones en el SDK son vistas.

    Intente lanzarlo primero. Por ejemplo, si el padre de la Vista de la que está intentando obtener id es TableRow, entonces haga

     ((TableRow)View.getParent()).getID() 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.