I am a little confused at the moment I am trying to setImageResource
to some Images in an ImageView Array. I replicated the error in a simpler project so here is the code. I am sure this must be a silly mistake but I have tried a lot and could not figure out the proper execution. I can't understand why images is a null object reference since I already initialised it in every way I could think of. I am getting this error in the line mentioned in the code.
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ImageView.setImageResource(int)' on a null object reference.
package com.example.test;
import android.media.Image;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ImageView;
public class MainActivity extends AppCompatActivity {
private ImageView image1;
private ImageView image2;
private ImageView image3;
private ImageView image;
private ImageView[] images = {image1, image2, image3, image};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
image1 =(ImageView) findViewById(R.id.image1);
image2 = (ImageView) findViewById(R.id.image2);
image3 = (ImageView) findViewById(R.id.image3);
image = (ImageView) findViewById(R.id.image);
setImages();
}
public void setImages() {
//This is where I am getting the error
images[0].setImageResource(R.drawable.a);
images[1].setImageResource(R.drawable.b);
images[2].setImageResource(R.drawable.c);
images[3].setImageResource(R.drawable.d);
}
}