2011-02-04 13 views
5

Tengo 2 actividades. El segundo se parece a .xml:No se puede obtener el elemento del diseño

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    > 
    <ListView 
      android:id="@+id/TrainsListView" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
     /> 
</LinearLayout> 

Parte de manifiesto:

<activity android:name="TrainsActivity"> 

</activity> 

Y yo estoy tratando de conseguir TrainsListView:

mListView = (ListView) findViewById(R.id.TrainsListView); 

Pero después de esto mlistView es nulo. ¿Por qué?

+0

Quiero saber si ha extendido ListActivity o Activity en su clase de actividad. –

+0

He ampliado la actividad. – arts777

Respuesta

12

Supongo que esto está sucediendo en el método onCreate() de su actividad porque está llamando al findViewById() antes de llamar al setContentView(). Si ese no es el caso, por favor, muestre más de su código.

+0

Oh, por supuesto, lo siento por una pregunta estúpida. – arts777

6

Si findViewById() está fallando para encontrar su ID de destino, aquí están algunas de las razones que esto puede suceder:.

[[En su caso, sospecho # 1 o # 2]

  1. SetContentView() (o inflate) todavía no se ha llamado para asociar un diseño a la búsqueda.

  2. SetContentView() (o inflate) se llamó con un diseño que no contiene el ID de destino, p. usted especificó el diseño incorrecto.

  3. Hay un error tipográfico en el id en el diseño o en el código.

  4. Usted ha importado el R archivo incorrecto (como el archivo de un componente de la biblioteca R) y casualmente el mismo id también se utilizó en el otro archivo R).

  5. Estás buscando la vista incorrecta, p. infló un diseño de menú y no lo conectó al diseño raíz y luego intentó buscar un id. en el diseño raíz (findBiewById(..)) cuando tenía la intención de buscar el diseño de menú inflado (menu.findBiewById(..)).

Cuestiones relacionadas