0

I am trying to change background color of my app when user drags the seekbar.

I have refereed following link : Set Background color programmatically

I have following code in OnSeekBarChangeListener() :

@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
    View someView = findViewById(R.id.screen);
    View root = someView.getRootView();
    root.setBackgroundColor(Color.argb(255, r[progress], g[progress], b[progress]));
}

It results in following crash :

java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.View android.view.View.getRootView()' on a null object reference

Mainactivity class :

  protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        setRandomcolors();
        setbuttonclicklistener();
        seebar();
    }

OnSeekBarChangeListener() is called from seebar()

Community
  • 1
  • 1
nav_jan
  • 2,473
  • 4
  • 24
  • 42

1 Answers1

2

You are getting someView as null. So its giving null pointer exception.

Try changing,

 View someView = findViewById(R.id.screen);

to

 View someView = (View)findViewById(R.id.screen);

Can you post your full xml code.

Ashwini
  • 245
  • 1
  • 7