Quantcast
Channel: Active questions tagged crash - Stack Overflow
Viewing all articles
Browse latest Browse all 7199

My android app crashes while I'm trying to change activities

$
0
0

I'm trying to develop a game in android studio, but when I change activities the game crashes.The logcat says: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference.It also says that I have a problem with the Display.java file at the line 51.

display.xml

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"    tools:context=".Display"><Button        android:id="@+id/menuButton"        android:layout_width="137dp"        android:layout_height="wrap_content"        android:layout_alignParentEnd="true"        android:layout_alignParentBottom="true"        android:text="MENU"        android:textStyle="bold|italic"        android:visibility="invisible" /><ImageView        android:id="@+id/bg"        android:layout_width="match_parent"        android:layout_height="match_parent"        android:layout_alignParentStart="true"        android:layout_alignParentTop="true"        android:background="@android:color/white" /><TextView        android:id="@+id/text_view_countdown"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_centerHorizontal="true"        android:layout_centerVertical="true"        android:text="00:00"        android:textColor="@android:color/black"        android:textSize="60sp"        android:visibility="invisible"/><Button        android:id="@+id/button_start_pause"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_below="@+id/text_view_countdown"        android:layout_centerHorizontal="true"        android:text="start"        android:visibility="invisible"/><Button        android:id="@+id/button_reset"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_below="@+id/text_view_countdown"        android:layout_marginStart="11dp"        android:onClick="tryagain"        android:layout_toEndOf="@+id/button_start_pause"        android:text="reset"        android:visibility="invisible"        tools:visibility="visible" /><Button        android:id="@+id/settingsButton"        android:layout_width="250dp"        android:layout_height="50dp"        android:layout_alignParentTop="true"        android:layout_centerHorizontal="true"        android:layout_marginTop="356dp"        android:text="SETTINGS"        android:textSize="25sp"        android:textStyle="bold|italic" /><!-- tools:visibility="visible"--><!-- tools:visibility="visible"--><Button        android:id="@+id/playButton"        android:layout_width="250dp"        android:layout_height="50dp"        android:layout_alignParentStart="true"        android:layout_alignParentLeft="true"        android:layout_alignParentTop="true"        android:layout_centerHorizontal="true"        android:layout_marginStart="81dp"        android:layout_marginLeft="81dp"        android:layout_marginTop="225dp"        android:text="PLAY"        android:textSize="25sp"        android:textStyle="bold|italic" /><Button        android:id="@+id/leaderButton"        android:layout_width="250dp"        android:layout_height="50dp"        android:layout_alignParentTop="true"        android:layout_centerHorizontal="true"        android:layout_marginTop="288dp"        android:text="LEADERBOARD"        android:textSize="25sp"        android:textStyle="bold|italic" /><com.airbnb.lottie.LottieAnimationView        android:id="@+id/lottieAnimationView"        android:layout_width="match_parent"        android:layout_height="246dp"        android:layout_alignParentStart="true"        android:layout_alignParentTop="true"        android:layout_alignParentEnd="true"        android:layout_centerHorizontal="true"        android:layout_marginStart="-1dp"        android:layout_marginTop="3dp"        android:layout_marginEnd="-1dp"        android:visibility="invisible"        app:lottie_autoPlay="true"        app:lottie_fileName="tryagain.json"        app:lottie_loop="true" /><com.airbnb.lottie.LottieAnimationView        android:id="@+id/lottieAnimationViewWin"        android:layout_width="match_parent"        android:layout_height="246dp"        android:layout_alignParentStart="true"        android:layout_alignParentTop="true"        android:layout_alignParentEnd="true"        android:layout_marginStart="1dp"        android:layout_marginTop="2dp"        android:layout_marginEnd="-3dp"        android:visibility="invisible"        app:lottie_autoPlay="true"        app:lottie_fileName="win.json"        app:lottie_loop="true" /><com.airbnb.lottie.LottieAnimationView        android:id="@+id/lottieAnimationViewTimesUp"        android:layout_width="match_parent"        android:layout_height="246dp"        android:layout_alignParentStart="true"        android:layout_alignParentTop="true"        android:layout_alignParentEnd="true"        android:layout_marginStart="-3dp"        android:layout_marginTop="0dp"        android:layout_marginEnd="0dp"        android:visibility="invisible"        app:lottie_autoPlay="true"        app:lottie_fileName="timesup.json"        app:lottie_loop="true" /><!-- tools:visibility="visible"--></RelativeLayout>

Display.java

    package com.example.testpaz;import android.app.Activity;import android.graphics.Color;import android.media.MediaPlayer;import android.os.Bundle;import android.os.CountDownTimer;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.ImageView;import android.widget.TextView;import com.airbnb.lottie.LottieAnimationView;import java.util.Locale;public class Display extends Activity {    private static final long START_TIME_IN_MILLIS = 10000;    private static final long NEGATIVE_TIME_IN_MILLIS = 5000;    private long NegativeTimeInMillis = NEGATIVE_TIME_IN_MILLIS;    private TextView mTextViewCountDown;    private Button mButtonStartPause;    private Button mButtonReset;    private CountDownTimer mCountDownTimer;    private LottieAnimationView tryAgainAnim;    private LottieAnimationView winAnim;    private LottieAnimationView timesUpAnim;    private boolean mTimerRunning;    private long mTimeLeftInMillis = START_TIME_IN_MILLIS;    private ImageView bg;    private Button playB;    private Button settB;    private Button leaderB;    private Button menuB;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        bg = findViewById(R.id.bg);        tryAgainAnim = findViewById(R.id.lottieAnimationView);        winAnim = findViewById(R.id.lottieAnimationViewWin);        timesUpAnim = findViewById(R.id.lottieAnimationViewTimesUp);        mTextViewCountDown = findViewById(R.id.text_view_countdown);        mButtonStartPause = findViewById(R.id.button_start_pause);        mButtonReset = findViewById(R.id.button_reset);        playB = findViewById(R.id.playButton);        settB = findViewById(R.id.settingsButton);        leaderB = findViewById(R.id.leaderButton);        menuB = findViewById(R.id.menuButton);        menuB.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                backToMenu();            }        });        playB.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                startGame();            }        });        mButtonStartPause.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                if (mTimerRunning) {                    pauseTimer();                } else {                    startTimer();                }            }        });        mButtonReset.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                resetTimer();            }        });        updateCountDownText();    }    private void backToMenu(){        menuB.setVisibility(View.INVISIBLE);        playB.setVisibility(View.VISIBLE);        settB.setVisibility(View.VISIBLE);        leaderB.setVisibility(View.VISIBLE);        mTextViewCountDown.setVisibility(View.INVISIBLE);        mButtonStartPause.setVisibility(View.INVISIBLE);        mButtonReset.setVisibility(View.INVISIBLE);        timesUpAnim.setVisibility(View.INVISIBLE);        tryAgainAnim.setVisibility(View.INVISIBLE);        winAnim.setVisibility(View.INVISIBLE);    }    private void startGame(){        menuB.bringToFront();        menuB.setVisibility(View.VISIBLE);        playB.setVisibility(View.INVISIBLE);        settB.setVisibility(View.INVISIBLE);        leaderB.setVisibility(View.INVISIBLE);        mTextViewCountDown.setVisibility(View.VISIBLE);        mButtonStartPause.setVisibility(View.VISIBLE);    }    private void startTimer() {        final MediaPlayer alarmSound = MediaPlayer.create(this,R.raw.alarm_sound);        mCountDownTimer = new CountDownTimer(mTimeLeftInMillis, 10) {            @Override            public void onTick(long millisUntilFinished) {                mTimeLeftInMillis = millisUntilFinished;                updateCountDownText();            }            @Override            public void onFinish() {                bg.setBackgroundColor(Color.rgb(255, 255, 255));                alarmSound.start();                timesUpAnim.setVisibility(View.VISIBLE);                mTimerRunning = false;                mButtonStartPause.setText("Start");                mButtonStartPause.setVisibility(View.INVISIBLE);                mButtonReset.setVisibility(View.VISIBLE);            }        }.start();        mTimerRunning = true;        mButtonStartPause.setText("Stop");        mButtonReset.setVisibility(View.INVISIBLE);        tryAgainAnim.setVisibility(View.INVISIBLE);        winAnim.setVisibility(View.INVISIBLE);    }    private void pauseTimer() {        final MediaPlayer victSound = MediaPlayer.create(this,R.raw.vicory_sound);        final MediaPlayer failSound = MediaPlayer.create(this,R.raw.fail_sound);        mCountDownTimer.cancel();        mTimerRunning = false;        mButtonStartPause.setText("Start");        mButtonReset.setVisibility(View.VISIBLE);        bg.setBackgroundColor(Color.rgb(255, 255, 255));        if (mTimeLeftInMillis >= 4990 && mTimeLeftInMillis <= 5010){            winAnim.setVisibility(View.VISIBLE);            victSound.start();        }else{            tryAgainAnim.setVisibility(View.VISIBLE);            failSound.start();        }    }    private void resetTimer() {        mTimeLeftInMillis = START_TIME_IN_MILLIS;        updateCountDownText();        timesUpAnim.setVisibility(View.INVISIBLE);        tryAgainAnim.setVisibility(View.INVISIBLE);        winAnim.setVisibility(View.INVISIBLE);        mButtonReset.setVisibility(View.INVISIBLE);        mButtonStartPause.setVisibility(View.VISIBLE);    }    private void updateCountDownText() {        //int minutes = (int) (mTimeLeftInMillis / 1000) / 60;        String timeLeftFormatted;        int seconds = Math.abs((int) ((mTimeLeftInMillis - NegativeTimeInMillis) / 1000) % 60);        int centiSec = Math.abs((int) ((mTimeLeftInMillis - NegativeTimeInMillis) / 10) % 100);        if (mTimeLeftInMillis <= 7000 && mTimeLeftInMillis >= 5000){            bg.setBackgroundColor(Color.rgb(0, 0, 0));        }        if(mTimeLeftInMillis >= 5000){            timeLeftFormatted = String.format(Locale.getDefault(), "%02d:%02d", seconds, centiSec);        }else{            timeLeftFormatted = String.format(Locale.getDefault(), "-%02d:%02d", seconds, centiSec);        }        mTextViewCountDown.setText(timeLeftFormatted);    }}

Logcat:

-03-29 12:14:36.008 10868-10868/com.example.testpaz E/AndroidRuntime: FATAL EXCEPTION: main    Process: com.example.testpaz, PID: 10868    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.testpaz/com.example.testpaz.Display}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3449)        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3601)        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2066)        at android.os.Handler.dispatchMessage(Handler.java:106)        at android.os.Looper.loop(Looper.java:223)        at android.app.ActivityThread.main(ActivityThread.java:7656)        at java.lang.reflect.Method.invoke(Native Method)        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)     Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference        at com.example.testpaz.Display.onCreate(Display.java:51)        at android.app.Activity.performCreate(Activity.java:8000)        at android.app.Activity.performCreate(Activity.java:7984)        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1309)        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3422)        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3601)         at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)         at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)         at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)         at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2066)         at android.os.Handler.dispatchMessage(Handler.java:106)         at android.os.Looper.loop(Looper.java:223)         at android.app.ActivityThread.main(ActivityThread.java:7656)         at java.lang.reflect.Method.invoke(Native Method)         at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947) 

Viewing all articles
Browse latest Browse all 7199

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>