title: Attempt to invoke virtual method in Resources res = getResources();
body: <p>I am trying to change the background color of an activity using a handler, but I am getting an error "Attempt to invoke virtual method".</p>
  
  <p>Here is my code</p>
  
  <pre><code>public class MainActivity extends AppCompatActivity {
  
  private EditText editTextUser, editTextPass;
  private RelativeLayout relativeLayoutMain;
  private Random random = new Random();
  Intent intent;
  
  @Override
  protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      relativeLayoutMain = (RelativeLayout) findViewById(R.id.relativeLayoutMain);
  
      Button btnSignIn = (Button) findViewById(R.id.buttonSignIn);
      btnSignIn.setEnabled(false);
  
      handler.postDelayed(runner, 2000);
  
      Button buttonSignUp = (Button) findViewById(R.id.buttonSignUp);
      buttonSignUp.setText("Not registered? CLICK HERE");
  
      editTextUser = (EditText) findViewById(R.id.editTextUser);
      editTextPass = (EditText) findViewById(R.id.editTextPassword);
  
  
      if (editTextUser.getText().toString() != null &amp;&amp; editTextPass.getText().toString() != null) {
          btnSignIn.setEnabled(true);
      }
  
  }
  
  android.content.res.Resources res = getResources();
  int[] clrItems = res.getIntArray(R.array.color_background);
  
  List&lt;int[]&gt; arrayOfColor = new ArrayList&lt;int[]&gt;();
  
  public List&lt;int[]&gt; getArrayOfColor() {
      arrayOfColor.add(clrItems);
      return arrayOfColor;
  }
  
  Runnable runner = new Runnable() {
      @Override
      public void run() {
          Log.e("run: ", "call");
  
          Bitmap bitmap = Bitmap.createBitmap(612, 612, Bitmap.Config.ARGB_8888);
          Canvas canvas = new Canvas(bitmap);
  
          final int clr = 0xFF424242;
          final Paint paint = new Paint();
          final Rect destRect = new Rect((612-bitmap.getWidth())/2,
                  24,
                  (612)-(612-bitmap.getWidth())/2,
                  612-24);
          final RectF rectF = new RectF(destRect);
          final Rect srcRect = new Rect(0, 0, bitmap.getWidth(), 612);
          final float roundPx = 612;
  
          paint.setAntiAlias(true);
          canvas.drawARGB(0, 0, 0, 0);
          paint.setColor(clr);
          canvas.drawRoundRect(rectF, roundPx, roundPx, paint);
  
          paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
          canvas.drawBitmap(bitmap, srcRect, destRect, paint);
  
          GradientDrawable gd = new GradientDrawable(GradientDrawable.Orientation.LEFT_RIGHT, new int[]{0xFF616261, 0xFF131313});
          gd.setCornerRadius(0f);
          relativeLayoutMain.setBackground(gd);
          handler.postDelayed(runner, 4000);
      }
  };
  
  public void login(View view) {
      intent = new Intent(this, HomeActivity.class);
      startActivity(intent);
  }
  
  public void register(View view) {
      intent = new Intent(this, SignUpActivity.class);
      startActivity(intent);
  }
  }
  </code></pre>
  
  <p>And here is my logcat.</p>
  
  <pre><code> 08-31 16:29:47.122 13152-13152/com.example.salimshivani.student E/AndroidRuntime: FATAL EXCEPTION: main
   Process: com.example.salimshivani.student, PID: 13152
   java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.salimshivani.student/com.example.salimshivani.student.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.Resources android.content.Context.getResources()' on a null object reference
   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3132)
   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3415)
   at android.app.ActivityThread.access$1100(ActivityThread.java:229)
   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1821)
   at android.os.Handler.dispatchMessage(Handler.java:102)
   at android.os.Looper.loop(Looper.java:148)
   at android.app.ActivityThread.main(ActivityThread.java:7325)
   at java.lang.reflect.Method.invoke(Native Method)
   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
  
   Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.Resources android.content.Context.getResources()' on a null object reference
   at android.content.ContextWrapper.getResources(ContextWrapper.java:92)
   at android.view.ContextThemeWrapper.getResources(ContextThemeWrapper.java:81)
   at com.example.salimshivani.student.MainActivity.&lt;init&gt;(MainActivity.java:241)
   at java.lang.Class.newInstance(Native Method)
   at android.app.Instrumentation.newActivity(Instrumentation.java:1096)
   at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3122)
   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3415) 
   at android.app.ActivityThread.access$1100(ActivityThread.java:229) 
   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1821) 
   at android.os.Handler.dispatchMessage(Handler.java:102) 
   at android.os.Looper.loop(Looper.java:148) 
   at android.app.ActivityThread.main(ActivityThread.java:7325) 
   at java.lang.reflect.Method.invoke(Native Method) 
   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
  </code></pre>
  
  <p>Please help me where i am wrong to move the backgroundColor constantly of the activity.</p>
  
  <p>Thanks in advance</p>