首页 > 解决方案 > 当我将按钮放在活动上时,Android应用程序崩溃,空活动工作

问题描述

**当我单击按钮应用程序崩溃开始时,当我没有在活动上放任何东西时,我的意思是它只像“hello world”一样工作,但是当我在活动上放 3 个按钮时,它们不再工作了。**

package com.example.administracijazaposlenih;

import androidx.appcompat.app.AppCompatActivity;

import android.app.AlertDialog;
import android.content.Intent;
import android.media.Image;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

import org.w3c.dom.Text;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        final EditText editText = (EditText) findViewById(R.id.editText);
        TextView korisnicko = (TextView) findViewById(R.id.korisnicko);
        final EditText editText4 = (EditText) findViewById(R.id.editText4);
        TextView korisnicko2 = (TextView) findViewById(R.id.korisnicko2);
        ImageView slika = (ImageView) findViewById(R.id.imageView);
        Button button = (Button) findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                /* ime = editText.toString();
                String sifra = editText4.toString();*/
                if(editText4.getText().toString().equals("admin") && editText.getText().toString().equals("nikola")){
                Intent startIntent = new Intent(getApplicationContext(), Glavna.class);
                startActivity(startIntent);
                }
                else
                {
                    Toast.makeText(getApplicationContext(), "Pogresni podaci",Toast.LENGTH_SHORT).show();
                }



            }
        });
    }
}

这是主要活动,按钮打开此活动”

package com.example.administracijazaposlenih;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.content.Intent;

public class Glavna extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_glavna);

        Button btn1 = (Button) findViewById(R.id.button);
        Button btn2 = (Button) findViewById(R.id.button2);
        Button btn3 = (Button) findViewById(R.id.button5);

        btn1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent prikaziUnos = new Intent(getApplicationContext(),Unos.class);
                startActivity(prikaziUnos);
            }
        });

        btn2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent prikaziBrisanje = new Intent(getApplicationContext(),Brisanje.class);
                startActivity(prikaziBrisanje);
            }
        });

        btn3.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent prikaziPregled = new Intent (getApplicationContext(), Pregled.class);
                startActivity(prikaziPregled);
            }
        });

    }
}

这是logcat

2020-01-22 17:03:59.578 513-513/? E/Zygote: isWhitelistProcess - Process is Whitelisted
2020-01-22 17:03:59.579 513-513/? E/Zygote: accessInfo : 1
2020-01-22 17:03:59.584 513-513/? I/acijazaposleni: Late-enabling -Xcheck:jni
2020-01-22 17:03:59.858 513-563/? D/vndksupport: Loading /vendor/lib64/egl/libGLES_mali.so from current namespace instead of sphal namespace.
2020-01-22 17:03:59.908 513-563/? D/libEGL: loaded /vendor/lib64/egl/libGLES_mali.so
2020-01-22 17:03:59.956 513-513/? I/DecorView: createDecorCaptionView >> DecorView@ffa7d5a[], isFloating: false, isApplication: true, hasWindowDecorCaption: false, hasWindowControllerCallback: true
2020-01-22 17:04:00.054 513-513/? W/acijazaposleni: Accessing hidden method Landroid/view/View;->computeFitSystemWindows(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z (light greylist, reflection)
2020-01-22 17:04:00.055 513-513/? W/acijazaposleni: Accessing hidden method Landroid/view/ViewGroup;->makeOptionalFitsSystemWindows()V (light greylist, reflection)
2020-01-22 17:04:00.253 513-513/? D/OpenGLRenderer: Skia GL Pipeline
2020-01-22 17:04:00.257 513-513/? D/EmergencyMode: [EmergencyManager] android createPackageContext successful
2020-01-22 17:04:00.284 513-513/? D/InputTransport: Input channel constructed: fd=61
2020-01-22 17:04:00.284 513-513/? D/ViewRootImpl@ec43217[MainActivity]: setView = DecorView@ffa7d5a[MainActivity] TM=true MM=false
2020-01-22 17:04:00.301 513-513/? D/ViewRootImpl@ec43217[MainActivity]: dispatchAttachedToWindow
2020-01-22 17:04:00.338 513-513/? D/ViewRootImpl@ec43217[MainActivity]: Relayout returned: old=[0,0][1440,2960] new=[0,0][1440,2960] result=0x7 surface={valid=true 520902209536} changed=true
2020-01-22 17:04:00.370 513-589/? I/ConfigStore: android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasWideColorDisplay retrieved: 0
2020-01-22 17:04:00.371 513-589/? I/ConfigStore: android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasHDRDisplay retrieved: 0
2020-01-22 17:04:00.371 513-589/? I/OpenGLRenderer: Initialized EGL, version 1.4
2020-01-22 17:04:00.371 513-589/? D/OpenGLRenderer: Swap behavior 2
2020-01-22 17:04:00.384 513-589/? D/mali_winsys: EGLint new_window_surface(egl_winsys_display *, void *, EGLSurface, EGLConfig, egl_winsys_surface **, EGLBoolean) returns 0x3000
2020-01-22 17:04:00.384 513-589/? D/OpenGLRenderer: eglCreateWindowSurface = 0x793f857900, 0x794830f010
2020-01-22 17:04:00.461 513-589/? D/vndksupport: Loading /vendor/lib64/hw/android.hardware.graphics.mapper@2.0-impl.so from current namespace instead of sphal namespace.
2020-01-22 17:04:00.649 513-513/? D/ViewRootImpl@ec43217[MainActivity]: MSG_RESIZED: frame=Rect(0, 0 - 1440, 2960) ci=Rect(0, 96 - 0, 0) vi=Rect(0, 96 - 0, 0) or=1
2020-01-22 17:04:00.650 513-513/? D/ViewRootImpl@ec43217[MainActivity]: MSG_WINDOW_FOCUS_CHANGED 1 1
2020-01-22 17:04:00.656 513-513/? D/InputMethodManager: prepareNavigationBarInfo() DecorView@ffa7d5a[MainActivity]
2020-01-22 17:04:00.656 513-513/? D/InputMethodManager: getNavigationBarColor() -855310
2020-01-22 17:04:00.673 513-513/? D/InputMethodManager: prepareNavigationBarInfo() DecorView@ffa7d5a[MainActivity]
2020-01-22 17:04:00.673 513-513/? D/InputMethodManager: getNavigationBarColor() -855310
2020-01-22 17:04:00.673 513-513/? V/InputMethodManager: Starting input: tba=com.example.administracijazaposlenih ic=null mNaviBarColor -855310 mIsGetNaviBarColorSuccess true , NavVisible : true , NavTrans : false
2020-01-22 17:04:00.673 513-513/? D/InputMethodManager: startInputInner - Id : 0
2020-01-22 17:04:00.674 513-513/? I/InputMethodManager: startInputInner - mService.startInputOrWindowGainedFocus
2020-01-22 17:04:00.685 513-539/? D/InputTransport: Input channel constructed: fd=71
2020-01-22 17:04:00.686 513-513/? D/InputMethodManager: prepareNavigationBarInfo() DecorView@ffa7d5a[MainActivity]
2020-01-22 17:04:00.686 513-513/? D/InputMethodManager: getNavigationBarColor() -855310
2020-01-22 17:04:00.686 513-513/? V/InputMethodManager: Starting input: tba=com.example.administracijazaposlenih ic=null mNaviBarColor -855310 mIsGetNaviBarColorSuccess true , NavVisible : true , NavTrans : false
2020-01-22 17:04:00.686 513-513/? D/InputMethodManager: startInputInner - Id : 0
2020-01-22 17:04:04.639 513-513/com.example.administracijazaposlenih D/ViewRootImpl@ec43217[MainActivity]: ViewPostIme pointer 0
2020-01-22 17:04:04.814 513-513/com.example.administracijazaposlenih D/ViewRootImpl@ec43217[MainActivity]: ViewPostIme pointer 1
2020-01-22 17:04:05.229 513-513/com.example.administracijazaposlenih D/ViewRootImpl@ec43217[MainActivity]: ViewPostIme pointer 0
2020-01-22 17:04:05.322 513-513/com.example.administracijazaposlenih D/ViewRootImpl@ec43217[MainActivity]: ViewPostIme pointer 1
2020-01-22 17:04:05.363 513-513/com.example.administracijazaposlenih D/InputMethodManager: prepareNavigationBarInfo() DecorView@ffa7d5a[MainActivity]
2020-01-22 17:04:05.363 513-513/com.example.administracijazaposlenih D/InputMethodManager: getNavigationBarColor() -855310
2020-01-22 17:04:05.363 513-513/com.example.administracijazaposlenih V/InputMethodManager: Starting input: tba=com.example.administracijazaposlenih ic=com.android.internal.widget.EditableInputConnection@6079d2e mNaviBarColor -855310 mIsGetNaviBarColorSuccess true , NavVisible : true , NavTrans : false
2020-01-22 17:04:05.364 513-513/com.example.administracijazaposlenih D/InputMethodManager: startInputInner - Id : 0
2020-01-22 17:04:05.373 513-513/com.example.administracijazaposlenih I/InputMethodManager: startInputInner - mService.startInputOrWindowGainedFocus
2020-01-22 17:04:05.379 513-513/com.example.administracijazaposlenih D/InputTransport: Input channel constructed: fd=75
2020-01-22 17:04:05.379 513-513/com.example.administracijazaposlenih D/InputTransport: Input channel destroyed: fd=71
2020-01-22 17:04:05.380 513-513/com.example.administracijazaposlenih D/InputMethodManager: SSI - flag : 0 Pid : 513 view : com.example.administracijazaposlenih
2020-01-22 17:04:05.381 513-513/com.example.administracijazaposlenih D/InputMethodManager: prepareNavigationBarInfo() DecorView@ffa7d5a[MainActivity]
2020-01-22 17:04:05.381 513-513/com.example.administracijazaposlenih D/InputMethodManager: getNavigationBarColor() -855310
2020-01-22 17:04:05.731 513-513/com.example.administracijazaposlenih D/ViewRootImpl@ec43217[MainActivity]: MSG_RESIZED: frame=Rect(0, 0 - 1440, 2960) ci=Rect(0, 96 - 0, 0) vi=Rect(0, 96 - 0, 1348) or=1
2020-01-22 17:04:09.055 513-513/com.example.administracijazaposlenih D/ViewRootImpl@ec43217[MainActivity]: ViewPostIme pointer 0
2020-01-22 17:04:09.098 513-513/com.example.administracijazaposlenih D/ViewRootImpl@ec43217[MainActivity]: ViewPostIme pointer 1
2020-01-22 17:04:09.141 513-513/com.example.administracijazaposlenih D/InputMethodManager: prepareNavigationBarInfo() DecorView@ffa7d5a[MainActivity]
2020-01-22 17:04:09.141 513-513/com.example.administracijazaposlenih D/InputMethodManager: getNavigationBarColor() -855310
2020-01-22 17:04:09.141 513-513/com.example.administracijazaposlenih V/InputMethodManager: Starting input: tba=com.example.administracijazaposlenih ic=com.android.internal.widget.EditableInputConnection@940c9ea mNaviBarColor -855310 mIsGetNaviBarColorSuccess true , NavVisible : true , NavTrans : false
2020-01-22 17:04:09.141 513-513/com.example.administracijazaposlenih D/InputMethodManager: startInputInner - Id : 0
2020-01-22 17:04:09.152 513-513/com.example.administracijazaposlenih I/InputMethodManager: startInputInner - mService.startInputOrWindowGainedFocus
2020-01-22 17:04:09.156 513-513/com.example.administracijazaposlenih D/InputTransport: Input channel constructed: fd=73
2020-01-22 17:04:09.156 513-513/com.example.administracijazaposlenih D/InputTransport: Input channel destroyed: fd=75
2020-01-22 17:04:09.156 513-513/com.example.administracijazaposlenih D/InputMethodManager: SSI - flag : 0 Pid : 513 view : com.example.administracijazaposlenih
2020-01-22 17:04:09.157 513-513/com.example.administracijazaposlenih D/InputMethodManager: prepareNavigationBarInfo() DecorView@ffa7d5a[MainActivity]
2020-01-22 17:04:09.157 513-513/com.example.administracijazaposlenih D/InputMethodManager: getNavigationBarColor() -855310
2020-01-22 17:04:09.181 513-513/com.example.administracijazaposlenih I/AssistStructure: Flattened final assist data: 3028 bytes, containing 1 windows, 10 views
2020-01-22 17:04:11.481 513-513/com.example.administracijazaposlenih D/ViewRootImpl@ec43217[MainActivity]: ViewPostIme key 0
2020-01-22 17:04:11.484 513-513/com.example.administracijazaposlenih D/ViewRootImpl@ec43217[MainActivity]: ViewPostIme key 1
2020-01-22 17:04:11.492 513-513/com.example.administracijazaposlenih D/InputMethodManager: HSIFW - flag : 0 Pid : 513
2020-01-22 17:04:11.581 513-513/com.example.administracijazaposlenih D/ViewRootImpl@ec43217[MainActivity]: MSG_RESIZED: frame=Rect(0, 0 - 1440, 2960) ci=Rect(0, 96 - 0, 0) vi=Rect(0, 96 - 0, 0) or=1
2020-01-22 17:04:12.067 513-513/com.example.administracijazaposlenih D/ViewRootImpl@ec43217[MainActivity]: ViewPostIme pointer 0
2020-01-22 17:04:12.105 513-513/com.example.administracijazaposlenih D/ViewRootImpl@ec43217[MainActivity]: ViewPostIme pointer 1
2020-01-22 17:04:12.195 513-513/com.example.administracijazaposlenih W/ActivityThread: handleWindowVisibility: no activity for token android.os.BinderProxy@9eae2a8
2020-01-22 17:04:12.214 513-513/com.example.administracijazaposlenih I/DecorView: createDecorCaptionView >> DecorView@e09d8fd[], isFloating: false, isApplication: true, hasWindowDecorCaption: false, hasWindowControllerCallback: true
2020-01-22 17:04:12.263 513-513/com.example.administracijazaposlenih D/AndroidRuntime: Shutting down VM
2020-01-22 17:04:12.265 513-513/com.example.administracijazaposlenih E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.example.administracijazaposlenih, PID: 513
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.administracijazaposlenih/com.example.administracijazaposlenih.Glavna}: 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:3114)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3257)
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1948)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:214)
        at android.app.ActivityThread.main(ActivityThread.java:7050)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:494)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:965)
     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.administracijazaposlenih.Glavna.onCreate(Glavna.java:21)
        at android.app.Activity.performCreate(Activity.java:7327)
        at android.app.Activity.performCreate(Activity.java:7318)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1271)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3094)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3257) 
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78) 
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108) 
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1948) 
        at android.os.Handler.dispatchMessage(Handler.java:106) 
        at android.os.Looper.loop(Looper.java:214) 
        at android.app.ActivityThread.main(ActivityThread.java:7050) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:494) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:965) 
2020-01-22 17:04:12.295 513-513/com.example.administracijazaposlenih I/Process: Sending signal. PID: 513 SIG: 9

对不起,我是android studio的新手,请帮助我,干杯:Dd

标签: javaandroid

解决方案


请检查您的 xml 文件代码,确保定义按钮并使用活动类 ID 检查按钮 ID。

您尝试调用 setOnClicklistener 时出错,但您的按钮为空。

Button button = (Button) findViewById(R.id.button);

推荐阅读