Android: comment faire findViewById(R. id.xxx) le travail dans une classe héritant/étendant à partir de la classe de la Vue?

J'ai le problème suivant: je veux ajouter une vue personnalisée (custom_view.xml et associés CustomView.java classe) et mon activité principale.

Donc, je ne les suivants:

1) Dans mon activité principale (lié à main.xml):

CustomView customView = new CustomView(this);
mainView.addView(customView);

2) Dans mon CustomView.java classe (que je veux relier à 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....
}

}

Mon problème est que aTextView reste égal à null... Il semble clairement dû au fait que mon custom_view.xml n'est pas lié à mon CustomView.java classe. Comment puis-je faire ce lien ? En effet, j'ai essayé setContentView(R. layout.custom_view); mais ça ne fonctionne pas (erreur de compilation) que les élèves de ma classe s'étend de Vue de classe, et non pas l'Activité de la classe.

Merci pour votre aide !!

  • ne devriez-vous pas être en gonflant votre xml à un certain point?
  • Grâce njzk2. Il semble que je dois gonfler mon xml. Comment puis-je le faire ? (merci pour votre réponse dans le cas où je ne trouve pas de blog sur ce sujet)
InformationsquelleAutor Regis_AG | 2011-10-11