【发布时间】:2016-06-08 16:37:14
【问题描述】:
java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“void android.widget.ImageView.setImageResource(int)”
我想让第一个活动的图标/图像转移或移动到第二个活动,但出现了上面的错误。
这是我在第一个actvty中的源代码:
public void next (View view){
Intent intent = new Intent(this, Products.class);
intent.putExtra("Button ID", btnId);
startActivity(intent);
}
然后在第二幕
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;
}
}
【问题讨论】:
-
发布第二个活动的完整代码。你的方法
setContentValues();在哪里调用?它必须在onCreate之后setContentView. -
是的。我在 onCreate 和 setContentView 之后调用它
-
你的
setContentView在哪里?显示所有代码。您需要仔细检查布局中的 ID。(ImageView) findViewById(R.id.imageView_result_title);显然返回 null - 要么你没有扩展布局(忘记调用setContentView),要么你在布局扩展之前调用setContentValue,或者它实际上没有带有 id 的视图R.id.imageView_result_title. -
是的。我已经解决了这个问题。谢谢:)
标签: java android nullpointerexception