Android: findviewbyid: encontrar la vista por id cuando la vista no está en el mismo diseño invocado por setContentView

Tengo una actividad MyActivity que se extiende desde MapActivity. En el archivo .xml que contiene el diseño sólo puedo incluir el MapView

<com.google.android.maps.MapView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/trail_map_view" android:layout_width="fill_parent" android:layout_height="fill_parent" android:clickable="true" android:apiKey="key" /> 

Sin embargo, necesito encontrar otra vista que se encuentre en otro archivo .xml. Lamentablemente, findViewById devuelve null. ¿Cómo puedo obtener la vista que estoy buscando?

¡Muchas gracias!

4 Solutions collect form web for “Android: findviewbyid: encontrar la vista por id cuando la vista no está en el mismo diseño invocado por setContentView”

Gracias por comentar, entiendo lo que quieres decir, pero no quería comprobar los valores antiguos. Sólo quería obtener un puntero a esa vista.

Al mirar el código somebodies acabo de encontrar una solución, puedes acceder a la raíz de un layout usando LayoutInflater .

El código es el siguiente, donde se trata de una Actividad:

 final LayoutInflater factory = getLayoutInflater(); final View textEntryView = factory.inflate(R.layout.landmark_new_dialog, null); landmarkEditNameView = (EditText) textEntryView.findViewById(R.id.landmark_name_dialog_edit); 

Básicamente obtener el inflado para this contexto, acceder a la vista raíz a través de inflar método y finalmente llamar a findViewById en la vista raíz de la disposición.

Hope es útil para alguien! Adiós

He cambiado en mi actividad pero he realizado. Aquí está mi código:

 View layout = getLayoutInflater().inflate(R.layout.list_group,null); try { LinearLayout linearLayout = (LinearLayout) layout.findViewById(R.id.ldrawernav); linearLayout.setBackgroundColor(Color.parseColor("#ffffff")); } catch (Exception e) { } } 

Es imposible. Sólo puede buscar y acceder a vistas que se estén ejecutando actualmente. Si desea comprobar el valor de ex. TextView utilizado en la actividad previus que debe guardar el valor es SharedPreferences, base de datos, archivo o pasar por Intent.

tratar:

 Activity parentActivity = this.getParent(); if (parentActivity != null) { View landmarkEditNameView = (EditText) parentActivity.findViewById(R.id. landmark_name_dialog_edit); } 
  • Lista de la documentación de Android Ver ejemplo Código fuente en XML
  • Android: Ripple de fondo mediante programación
  • Cómo dejar que el ImageView y el TextView tengan la misma altura
  • Cómo clasificar los componentes de Android según el tamaño de la imagen mediante XML
  • Atributos de estilo de estilo personalizado AlertDialog
  • Error relativo de las dependencias circulares del diseño relativo de Android
  • Modificación del diseño del título de diálogo en Android
  • Centrar un botón en un diseño Lineal
  • Densidad y resolución de Android xhdpi
  • Agregar mediante programación borde a LinearLayout
  • Cómo deshabilitar el toque del diseño anterior
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.