2016-06-08 13 views
0

java.lang.NullPointerException: Versuch, virtuelle Methode 'void android.widget.ImageView aufzurufen .setImageResource (int) 'für eine Nullobjekt-Referenzjava.lang.NullPointerException: Versuch, die virtuelle Methode 'void android.widget.ImageView.setImageResource (int)' für eine Nullobjekt-Referenz aufzurufen

Ich möchte das Symbol/Bild der ersten Aktivitätsübertragung erstellen oder zur zweiten Aktivität wechseln, aber dieser obige Fehler wird angezeigt.

Dies ist mein Quellcode im ersten actvty:

public void next (View view){ 
    Intent intent = new Intent(this, Products.class); 
    intent.putExtra("Button ID", btnId); 
    startActivity(intent); 
} 

dann im zweiten actvty

btnId = getIntent().getIntExtra("Button ID", btnId); 
    setContentValues(); 
} 

private void setContentValues() { 
    ImageView titleImg = (ImageView) findViewById(R.id.imageView_result_title); 
    View view = (View)findViewById(R.id.layout_goals_goals); 

    switch (btnId) { 
     case R.id.imageButton_goals_car: 
      titleImg.setImageResource(R.drawable.car); 
      break; 
     case R.id.imageButton_goals_education: 
      titleImg.setImageResource(R.drawable.education); 
      break; 
     case R.id.imageButton_goals_health: 
      titleImg.setImageResource(R.drawable.health); 
      break; 
     case R.id.imageButton_goals_house: 
      titleImg.setImageResource(R.drawable.house); 
      break; 
     case R.id.imageButton_goals_saving: 
      titleImg.setImageResource(R.drawable.savings); 
      break; 
     case R.id.imageButton_goals_travel: 
      titleImg.setImageResource(R.drawable.travel); 
      break; 
     default: 
      break; 
    } 
} 

Idk was passiert ist :(tsk

+1

Geben Sie den gesamten Code der zweiten Aktivität ein. Wo wird Ihre Methode 'setContentValues ​​();' aufgerufen? Es muss in 'onCreate' ** nach **' setContentView' sein. – Vucko

+0

Ja. Ich habe es onCreate aufgerufen und nach setContentView – jDmendiola

+0

wo ist dein 'setContentView'? zeige den ganzen Code. Sie müssen die IDs in Ihrem Layout überprüfen. '(ImageView) findViewById (R.id.imageView_result_title);' gibt scheinbar null zurück - entweder haben Sie kein Layout aufgebläht ("setContentView" wurde nicht aufgerufen), oder Sie rufen 'setContentValue' auf, bevor das Layout aufgebläht ist, oder es hat keine Ansicht mit ID 'R.id.imageView_result_title'. – trooper

Antwort

0

Die Variable titleImg ist möglicherweise null. Sie sollten in die Funktion debuggen, um zu sehen, ob sie tatsächlich von der ersten Anweisung in setContentValues ​​() gefunden wurde oder nicht

+0

Ja. Ich habe das Problem bereits gelöst. Trotzdem danke :) – jDmendiola

Verwandte Themen