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

时间:2013-12-08 17:53:33

标签: java android

第33行,所有调试日志都没问题。 正如你所看到的,我甚至研究了导致问题的方法,但它仍然会崩溃。

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());
            }
        });

    }





    }

类:

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);

        }
    }

导致问题的行:

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

1 个答案:

答案 0 :(得分:4)

您永远不会初始化Math matrix;

因此,当您尝试在GetValues对象上调用matrix方法时,它会抛出NPE