第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());
答案 0 :(得分:4)
您永远不会初始化Math matrix;
因此,当您尝试在GetValues
对象上调用matrix
方法时,它会抛出NPE
。