Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/08/2013, 09:32
jordy48
 
Fecha de Ingreso: febrero-2012
Mensajes: 56
Antigüedad: 12 años, 3 meses
Puntos: 1
Pregunta findViewById me retorna NULL, porque?!?!

Hola buen dia, verán, soy un poco nuevo en la programación en android y mientras practicaba un poco las animaciones me topé con este problema: MI IMAGEN ERA NULA (A la hora de ejecutar me lanzaba un NullPointerException) y viendo que era encontré que mi imagen no estaba inicializada, FindViewByID no me regresaba nada!!! y no encuntro el porque!!!

Mi Actividad Principal:
Código Java:
Ver original
  1. public class MainActivity extends Activity {
  2.     private ImageView imagen;
  3.     private AnimationDrawable animacion;
  4.  
  5.     @Override
  6.     protected void onCreate(Bundle savedInstanceState) {
  7.         super.onCreate(savedInstanceState);
  8.         animacion = (AnimationDrawable) getResources().getDrawable(R.drawable.animacion1);
  9.         imagen = (ImageView) findViewById(R.id.imageView1);
  10.         if (imagen == null) Log.d("PRUEBA","ES NULA LA IMAGEN");
  11.         imagen.setBackgroundColor(Color.WHITE);
  12.         imagen.setImageDrawable(animacion);
  13.         imagen.setOnClickListener(
  14.                 new OnClickListener() {
  15.                     public void onClick(View v) {
  16.                         animacion.start();
  17.                     }
  18.                 }
  19.         );
  20.         setContentView(R.layout.activity_main);
  21.     }
  22. }



y el Layout de mi actividad principal es este:

Código XML:
Ver original
  1. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  2.    xmlns:tools="http://schemas.android.com/tools"
  3.    android:layout_width="match_parent"
  4.    android:layout_height="match_parent"
  5.    android:paddingBottom="@dimen/activity_vertical_margin"
  6.    android:paddingLeft="@dimen/activity_horizontal_margin"
  7.    android:paddingRight="@dimen/activity_horizontal_margin"
  8.    android:paddingTop="@dimen/activity_vertical_margin"
  9.    tools:context=".MainActivity" >
  10.  
  11.     <ImageView
  12.        android:id="@+id/imageView1"
  13.        android:layout_width="130dp"
  14.        android:layout_height="160dp"
  15.        android:layout_centerHorizontal="true"
  16.        android:layout_centerVertical="true" />
  17.  
  18. </RelativeLayout>


Si necesitan que suba el código de la animación, lo subo, aunque no lo consideré necesario pues la animación no me da problemas, el problema es la imagen

NOTA: Antes intenté usar, imagen = new ImageView(this); y en setContentView(imagen) le mandaba la imagen, pero esto hacía que la animacion usara la pantalla completa, y yo quiero que sea una parte en especifico, por eso estoy usando la imagen vacía en el Layout y en el onCreate le asigno su contenido

AYUUDAAAAA!!!

Gracias