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)
Vous devez vous connecter pour publier un commentaire.
Si je reçois correctement, vous essayez de construire des customview de layoutfile(R. layout.custom_view). Vous souhaitez trouver un textview à partir de ce fichier de mise en page. Est ce que le droit?
Si oui, vous avez besoin de gonfler le fichier de mise en page avec le contexte u ont. Alors u peut trouver les textview à partir du fichier de mise en page.
De l'essayer.
Je vous suggère d'essayer ceci:
Il a travaillé pour moi!!!
Essayer de gonfler le customView.
Deuxième, essayer (je présume que aTextView id est présent à côté CustomView)