Tengo el siguiente problema: Quiero agregar una vista personalizada (custom_view.xml y clases CustomView.java asociadas) a mi actividad principal.Android: cómo hacer que findViewById (R.id.xxx) trabaje en una clase heredando/extendiendo desde la clase View?
Por lo tanto, hago lo siguiente:
1) En mi actividad principal (vinculada a Main.xml):
CustomView customView = new CustomView(this);
mainView.addView(customView);
2) En mi clase CustomView.java (que yo quiero vincular a custom_view.xml):
public class CustomView extends View {
public CustomView(Context context)
{
super(context);
/* setContentView(R.layout.custom_view); This doesn't work here as I am in a class extending from and not from Activity */
TextView aTextView = (TextView) findViewById(R.id.aTextView); // returns null
///etc....
}
}
mi problema es que aTextView sigue siendo igual a null ... parece claramente debido al hecho de que mi custom_view.xml no está vinculada a mi clase CustomView.java. ¿Cómo puedo hacer este enlace? De hecho, probé setContentView (R.layout.custom_view); pero no funciona (error de compilación) ya que mi clase se extiende desde la clase View y no la clase Activity.
Gracias por su ayuda !!
¿no deberías estar inflando tu xml en algún momento? – njzk2
Gracias njzk2. Parece que debería inflar mi xml. Cómo puedo hacer eso ? (gracias por su respuesta en caso de que no encuentre ningún blog sobre este tema) –