【问题标题】:java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ImageView.setImageResource(int)' on a null object reference [duplicate]java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“void android.widget.ImageView.setImageResource(int)”[重复]
【发布时间】: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


【解决方案1】:

变量 titleImg 可能为空。您应该调试该函数以查看它是否实际上是从 setContentValues() 中的第一条语句中找到的。

【讨论】:

  • 是的。我已经解决了这个问题。无论如何谢谢:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-07
  • 1970-01-01
相关资源
最近更新 更多