This funcion is crashing my app and im not sure why.
    public void whileLoopForChange(){
    while (gameRunning = true){
        View someView = findViewById(R.id.screen);
        final View root = someView.getRootView();
        Random rand = new Random();
        final int value = rand.nextInt(15);
        if(lvl<10){
            new Timer().schedule(new TimerTask() {
                @Override
                public void run() {
                    if(value == 1){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Red));
                        currentColor = "red";
                    }else if(value == 2){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Pink));
                        currentColor = "pink";
                    }else if(value == 3){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Orange));
                        currentColor = "orange";
                    }else if(value == 4){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Blue));
                        currentColor = "blue";
                    }else if(value == 5){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Green));
                        currentColor = "green";
                    }else if(value == 6){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.White));
                        currentColor = "white";
                    }else if(value == 7){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Black));
                        currentColor = "black";
                    }else if(value == 8){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Salmon));
                        currentColor = "salmon";
                    }else if(value == 9){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Violet));
                        currentColor = "violet";
                    }else if(value == 10){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Cyan));
                        currentColor = "cyan";
                    }else if(value == 11){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.DarkGray));
                        currentColor = "darkgray";
                    }else if(value == 12){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Gray));
                        currentColor = "gray";
                    }else if(value == 13){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Chocolate));
                        currentColor = "chocolate";
                    }else if(value == 14){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Silver));
                        currentColor = "silver";
                    }
                }
            }, 1000);
        }else if(lvl<15 && lvl>9) {
            new Timer().schedule(new TimerTask() {
                @Override
                public void run() {
                    if(value == 1){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Red));
                        currentColor = "red";
                    }else if(value == 2){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Pink));
                        currentColor = "pink";
                    }else if(value == 3){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Orange));
                        currentColor = "orange";
                    }else if(value == 4){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Blue));
                        currentColor = "blue";
                    }else if(value == 5){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Green));
                        currentColor = "green";
                    }else if(value == 6){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.White));
                        currentColor = "white";
                    }else if(value == 7){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Black));
                        currentColor = "black";
                    }else if(value == 8){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Salmon));
                        currentColor = "salmon";
                    }else if(value == 9){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Violet));
                        currentColor = "violet";
                    }else if(value == 10){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Cyan));
                        currentColor = "cyan";
                    }else if(value == 11){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.DarkGray));
                        currentColor = "darkgray";
                    }else if(value == 12){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Gray));
                        currentColor = "gray";
                    }else if(value == 13){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Chocolate));
                        currentColor = "chocolate";
                    }else if(value == 14){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Silver));
                        currentColor = "silver";
                    }
                }
            }, 750);
        }else if(lvl<20 && lvl>14){
            new Timer().schedule(new TimerTask() {
                @Override
                public void run() {
                    if(value == 1){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Red));
                        currentColor = "red";
                    }else if(value == 2){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Pink));
                        currentColor = "pink";
                    }else if(value == 3){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Orange));
                        currentColor = "orange";
                    }else if(value == 4){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Blue));
                        currentColor = "blue";
                    }else if(value == 5){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Green));
                        currentColor = "green";
                    }else if(value == 6){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.White));
                        currentColor = "white";
                    }else if(value == 7){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Black));
                        currentColor = "black";
                    }else if(value == 8){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Salmon));
                        currentColor = "salmon";
                    }else if(value == 9){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Violet));
                        currentColor = "violet";
                    }else if(value == 10){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Cyan));
                        currentColor = "cyan";
                    }else if(value == 11){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.DarkGray));
                        currentColor = "darkgray";
                    }else if(value == 12){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Gray));
                        currentColor = "gray";
                    }else if(value == 13){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Chocolate));
                        currentColor = "chocolate";
                    }else if(value == 14){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Silver));
                        currentColor = "silver";
                    }
                }
            }, 600);
        }else if(lvl<30 && lvl>19){
            new Timer().schedule(new TimerTask() {
                @Override
                public void run() {
                    if(value == 1){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Red));
                        currentColor = "red";
                    }else if(value == 2){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Pink));
                        currentColor = "pink";
                    }else if(value == 3){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Orange));
                        currentColor = "orange";
                    }else if(value == 4){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Blue));
                        currentColor = "blue";
                    }else if(value == 5){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Green));
                        currentColor = "green";
                    }else if(value == 6){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.White));
                        currentColor = "white";
                    }else if(value == 7){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Black));
                        currentColor = "black";
                    }else if(value == 8){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Salmon));
                        currentColor = "salmon";
                    }else if(value == 9){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Violet));
                        currentColor = "violet";
                    }else if(value == 10){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Cyan));
                        currentColor = "cyan";
                    }else if(value == 11){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.DarkGray));
                        currentColor = "darkgray";
                    }else if(value == 12){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Gray));
                        currentColor = "gray";
                    }else if(value == 13){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Chocolate));
                        currentColor = "chocolate";
                    }else if(value == 14){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Silver));
                        currentColor = "silver";
                    }
                }
            }, 550);
        }else if(lvl<50 && lvl>29){
            new Timer().schedule(new TimerTask() {
                @Override
                public void run() {
                    if(value == 1){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Red));
                        currentColor = "red";
                    }else if(value == 2){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Pink));
                        currentColor = "pink";
                    }else if(value == 3){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Orange));
                        currentColor = "orange";
                    }else if(value == 4){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Blue));
                        currentColor = "blue";
                    }else if(value == 5){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Green));
                        currentColor = "green";
                    }else if(value == 6){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.White));
                        currentColor = "white";
                    }else if(value == 7){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Black));
                        currentColor = "black";
                    }else if(value == 8){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Salmon));
                        currentColor = "salmon";
                    }else if(value == 9){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Violet));
                        currentColor = "violet";
                    }else if(value == 10){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Cyan));
                        currentColor = "cyan";
                    }else if(value == 11){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.DarkGray));
                        currentColor = "darkgray";
                    }else if(value == 12){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Gray));
                        currentColor = "gray";
                    }else if(value == 13){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Chocolate));
                        currentColor = "chocolate";
                    }else if(value == 14){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Silver));
                        currentColor = "silver";
                    }
                }
            }, 500);
        }else if(lvl<49){
            new Timer().schedule(new TimerTask() {
                @Override
                public void run() {
                    if(value == 1){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Red));
                        currentColor = "red";
                    }else if(value == 2){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Pink));
                        currentColor = "pink";
                    }else if(value == 3){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Orange));
                        currentColor = "orange";
                    }else if(value == 4){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Blue));
                        currentColor = "blue";
                    }else if(value == 5){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Green));
                        currentColor = "green";
                    }else if(value == 6){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.White));
                        currentColor = "white";
                    }else if(value == 7){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Black));
                        currentColor = "black";
                    }else if(value == 8){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Salmon));
                        currentColor = "salmon";
                    }else if(value == 9){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Violet));
                        currentColor = "violet";
                    }else if(value == 10){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Cyan));
                        currentColor = "cyan";
                    }else if(value == 11){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.DarkGray));
                        currentColor = "darkgray";
                    }else if(value == 12){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Gray));
                        currentColor = "gray";
                    }else if(value == 13){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Chocolate));
                        currentColor = "chocolate";
                    }else if(value == 14){
                        root.setBackgroundColor(ContextCompat.getColor(MainActivity.this, R.color.Silver));
                        currentColor = "silver";
                    }
                }
            }, 350);
        }
    }
The app runs fine when I remove the function and the call to it. Im pretty new to android but have java experiance. The call for this function is in the onCreate method after everything that defaultly comes in that method. I havent put anything in the layout xml file and i have no other functions but onCreate in my main activity.
EDIT 1: Removing the timer makes the app not crash. How would I replace the timer function with something that makes the code run after for say a second?
EDIT 2: Logcat: --------- beginning of crash 07-28 15:15:37.259 32203-32203/? E/AndroidRuntime: FATAL EXCEPTION: main Process: io.eliot.colorstop, PID: 32203 java.lang.RuntimeException: Unable to start activity ComponentInfo{io.eliot.colorstop/io.eliot.colorstop.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.View android.view.View.getRootView()' on a null object reference at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2984) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3045) at android.app.ActivityThread.-wrap14(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1642) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6776) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1520) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1410) Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.View android.view.View.getRootView()' on a null object reference at io.eliot.colorstop.MainActivity.whileLoopForChange(MainActivity.java:34) at io.eliot.colorstop.MainActivity.onCreate(MainActivity.java:29) at android.app.Activity.performCreate(Activity.java:6955) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1126) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2927) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3045) at android.app.ActivityThread.-wrap14(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1642) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6776) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1520) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1410)
After reading the logcat it seems that its getting the root view that crashes it.
 
    