2012-11-30 1 views
1

Je gonfle xml et je crée des vues à partir de ce fichier XML. J'ai besoin de modifier la largeur d'une image, mais j'ai une exception NullPointerException.Null Pointeur lors de la définition de imageView avec par programme

Le code que j'ai est:

for (int o = 0; o < study.size(); o++) { 
    LayoutInflater li_est= (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    final View vEst = li_est.inflate(R.layout.study_details, null); 

line = (ImageView)findViewById(R.id.img_line); 

if (getResources().getConfiguration().orientation==Configuration.ORIENTATION_LANDSCAPE) { 
     **// HERE NEED CHANGE WIDTH OF LINE BUT I GET THE EXCEPTION** 
} 

J'ai essayé de le faire de la manière suivante:

1.  line.getLayoutParams().width = 20; 
2.  line.setMaxWidth(20); 
3.  line.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); 

Je pense que le problème vient de l'inflation, toute solution, je vous remercie et Je m'excuse pour mon mauvais anglais.

Répondre

2
final View vEst = li_est.inflate(R.layout.study_details, null); 
line = (ImageView)vEst.findViewById(R.id.img_line); 

Probablement ligne est déclarée dans la stud_ details mise en page, vous devez donc l'objet vEst pour le récupérer

+0

Je suis sûr que c'est mon problème. Je ne comprends pas comment je ne pouvais pas le voir avant, merci! – jlopez

+0

vous êtes les bienvenus. Si cela résout votre problème, s'il vous plaît n'oubliez pas de marquer la réponse comme "réponse acceptée" – Blackbelt

+0

j'ai besoin d'attendre 10 minutes, mais je mets maintenant de upvote trop – jlopez

1

vous devez effectuer la findViewById() sur la vue gonflée ... Aimes ceci:

final Voir vEst = li_est.inflate (R.layout.study_details, null); ligne = (ImageView) vEst .findViewById (R.id.img_line);

Questions connexes