【问题标题】:Whenever i run android studio, this is what appears (AndroidRuntime: FATAL EXCEPTION: main)每当我运行 android studio 时,就会出现这种情况(AndroidRuntime: FATAL EXCEPTION: main)
【发布时间】:2022-01-04 06:54:36
【问题描述】:

每当我在 android studio 上运行我的程序时,就会出现这种情况

AndroidRuntime: 致命异常: main 进程:com.example.myapplication,PID:4288 java.lang.RuntimeException:无法启动活动 ComponentInfo{com.example.myapplication/com.example.myapplication.MainActivity}:java.lang.NullPointerException:尝试调用虚拟方法 'void android.widget.Button.setOnClickListener(android. view.View$OnClickListener)' 在空对象引用上 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2325) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387) 在 android.app.ActivityThread.access$800(ActivityThread.java:151) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303) 在 android.os.Handler.dispatchMessage(Handler.java:102) 在 android.os.Looper.loop(Looper.java:135) 在 android.app.ActivityThread.main(ActivityThread.java:5254) 在 java.lang.reflect.Method.invoke(本机方法) 在 java.lang.reflect.Method.invoke(Method.java:372) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 原因:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' 在 com.example.myapplication.MainActivity.onCreate(MainActivity.java:19) 在 android.app.Activity.performCreate(Activity.java:5990) 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387) 在 android.app.ActivityThread.access$800(ActivityThread.java:151) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303) 在 android.os.Handler.dispatchMessage(Handler.java:102) 在 android.os.Looper.loop(Looper.java:135) 在 android.app.ActivityThread.main(ActivityThread.java:5254) 在 java.lang.reflect.Method.invoke(本机方法) 在 java.lang.reflect.Method.invoke(Method.java:372) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)

package com.example.myapplication;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

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

        Button AddButton = (Button) findViewById(R.id.AddButton);
        AddButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                EditText FirstNum=(EditText) findViewById(R.id.FirstNum);
                EditText SecondNum=(EditText) findViewById(R.id.SecondNum);
                TextView Result = (TextView) findViewById(R.id.Result);

                int num1 = Integer.parseInt(FirstNum.getText().toString());
                int num2 = Integer.parseInt(SecondNum.getText().toString());
                int result = num1 + num2;

                Result.setText(result + " ");
            }
        });
    }
}

【问题讨论】:

  • findViewById(R.id.Addbutton) 返回null,这意味着它在当前布局中找不到具有该 ID 的视图。因此,请确保您的 activity_main 布局包含一个 id 为 AddButton 的元素,并且它确实是 Button

标签: android-studio


【解决方案1】:

看看你的错误是

java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object

所以这个链接可以帮助你解决这个问题https://stackoverflow.com/questions/30508258

为避免此错误,您应该改用数据绑定

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-18
    • 2019-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-24
    • 1970-01-01
    • 2016-04-15
    相关资源
    最近更新 更多