简体   繁体   English

单击按钮时出现空指针异常错误

[英]Null Pointer Exception error on button click

Line 33, all debug logs are fine. 第33行,所有调试日志都很好。 As u can see I even comented the method that is causing problems and it still crashesh. 如您所见,我甚至提到了导致问题的方法,但它仍然崩溃。

MainActivity.java MainActivity.java

 package com.example.hillsmatrixinverser;

import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends Activity {
    Math matrix;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        final EditText Text1 = (EditText) findViewById(R.id.a) ;
       final  EditText Text2 = (EditText) findViewById(R.id.b) ;
       final  EditText Text3 = (EditText) findViewById(R.id.c) ;
       final   EditText Text4 = (EditText) findViewById(R.id.d) ;
    //   final    EditText TextFinal = (EditText) findViewById(R.id.editText1) ;
        final Button button = (Button) findViewById(R.id.button1);
        button.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                //

                Log.d("TEXT1", Text1.getText().toString());
                Log.d("TEXT2", Text2.getText().toString());
                Log.d("TEXT3", Text3.getText().toString());
                Log.d("TEXT4", Text4.getText().toString());

               matrix.GetValues(Text1.getText().toString(), Text2.getText().toString(),
                       Text3.getText().toString(), Text4.getText().toString());
               // TextFinal.setText(matrix.Calculate());
            }
        });

    }





    }

class: 类:

package com.example.hillsmatrixinverser;

import android.app.Application;

    public class Math {

        public int a;
        public int b;
        public int c;
        public int d;
        public void  GetValues(String a1, String b1, String c1, String d1){

               // Integer.parseInt(a1); 
            //   Integer.parseInt(b1);
           //   Integer.parseInt(c1);
             //  Integer.parseInt(d1); 


        }
        public String Calculate(){
            return Integer.toString(a+b+c+d);

        }
    }

Line causing problems: 行引起的问题:

matrix.GetValues(Text1.getText().toString(), Text2.getText().toString(),
                           Text3.getText().toString(), Text4.getText().toString());

You never initialize Math matrix; 您永远不会初始化Math matrix;

So when you're trying to call your GetValues method on your matrix object, it throws the NPE . 因此,当您尝试在matrix对象上调用GetValues方法时,它将引发NPE

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM