[英]Java.lang.nullPointerException in android eclipse when make calculator
i develop apps android calculator, but when i try to run, i just found error on logCat 07-02 19:41:00.152: ERROR/AndroidRuntime(577): Caused by: java.lang.NullPointerException 我开发了应用程序android计算器,但是当我尝试运行时,我刚刚在logCat 07-02 19:41:00.152上发现错误:ERROR / AndroidRuntime(577):由以下原因引起:java.lang.NullPointerException
this my coding : 这是我的编码:
package kalkulator.stekom;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class kalkulator extends Activity {
/** Called when the activity is first created. */
Button btnReset, btnSatu, btnDua, btnTiga, btnEmpat, btnLima, btnEnam, btnTujuh, btnDelapan, btnSembilan, btnNol, btnKali, btnBagi, btnKurang, btnTambah, btnSamadengan ;
EditText txtDisplay;
private double total1=0.0;
private double total2=0.0;
private char operasi_matematika;
private String temp;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
txtDisplay = (EditText)findViewById(R.id.txtDisplay);
btnSatu = (Button)findViewById(R.id.btnSatu);
btnDua = (Button)findViewById(R.id.btnDua);
btnTiga = (Button)findViewById(R.id.btnTiga);
btnEmpat = (Button)findViewById(R.id.btnEmpat);
btnLima = (Button)findViewById(R.id.btnLima);
btnEnam = (Button)findViewById(R.id.btnEnam);
btnTujuh = (Button)findViewById(R.id.btnTujuh);
btnDelapan = (Button)findViewById(R.id.btnDelapan);
btnSembilan = (Button)findViewById(R.id.btnSembilan);
btnNol = (Button)findViewById(R.id.btnNol);
btnKali = (Button)findViewById(R.id.btnKali);
btnBagi = (Button)findViewById(R.id.btnBagi);
btnTambah = (Button)findViewById(R.id.btnTambah);
btnKurang = (Button)findViewById(R.id.btnKurang);
btnReset = (Button)findViewById(R.id.btnReset);
//tombol satu
btnSatu.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String btnSatuText = txtDisplay.getText().toString() + btnSatu.getText().toString();
txtDisplay.setText(btnSatuText);
}
});
//tombol dua
btnDua.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String btnDuaText = txtDisplay.getText().toString() + btnDua.getText().toString();
txtDisplay.setText(btnDuaText);
}
});
//tombol tiga
btnTiga.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String btnTigaText = txtDisplay.getText().toString() + btnTiga.getText().toString();
txtDisplay.setText(btnTigaText);
}
});
//tombol empat
btnEmpat.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String btnEmpatText = txtDisplay.getText().toString() + btnEmpat.getText().toString();
txtDisplay.setText(btnEmpatText);
}
});
//tombol lima
btnLima.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String btnLimaText = txtDisplay.getText().toString() + btnLima.getText().toString();
txtDisplay.setText(btnLimaText);
}
});
//tombol enam
btnEnam.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String btnEnamText = txtDisplay.getText().toString() + btnEnam.getText().toString();
txtDisplay.setText(btnEnamText);
}
});
//tombol tujuh
btnTujuh.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String btnTujuhText = txtDisplay.getText().toString() + btnTujuh.getText().toString();
txtDisplay.setText(btnTujuhText);
}
});
//tombol delapan
btnDelapan.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String btnDelapanText = txtDisplay.getText().toString() + btnDelapan.getText().toString();
txtDisplay.setText(btnDelapanText);
}
});
//tombol sembilan
btnSembilan.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String btnSembilanText = txtDisplay.getText().toString() + btnSembilan.getText().toString();
txtDisplay.setText(btnSembilanText);
}
});
//tombol nol
btnNol.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String btnNolText = txtDisplay.getText().toString() + btnNol.getText().toString();
txtDisplay.setText(btnNolText);
}
});
//tombol kali
btnKali.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String button_text = btnKali.getText().toString();
getOperator(button_text);
}
});
//tombol bagi
btnBagi.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String button_text = btnBagi.getText().toString();
getOperator(button_text);
}
});
//tombol kurang
btnKurang.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String button_text = btnKurang.getText().toString();
getOperator(button_text);
}
});
//tombol tambah
btnTambah.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String button_text = btnTambah.getText().toString();
getOperator(button_text);
}
});
btnReset.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
txtDisplay.setText(null);
}
});
btnSamadengan.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
hitung();
}});
}
private void getOperator(String btnText) {
// TODO Auto-generated method stub
operasi_matematika = btnText.charAt(0);
total1 = total1 + Double.parseDouble(txtDisplay.getText().toString());
txtDisplay.setText("");
}
private void hitung() {
// TODO Auto-generated method stub
switch(operasi_matematika){
case '+':
total2 = total1 + Double.parseDouble(txtDisplay.getText().toString());
break;
case '-':
total2 = total1 - Double.parseDouble(txtDisplay.getText().toString());
break;
case '/':
total2 = total1 / Double.parseDouble(txtDisplay.getText().toString());
break;
case '*':
total2 = total1 * Double.parseDouble(txtDisplay.getText().toString());
break;
}
txtDisplay.setText(Double.toString(total2));
total1=0.0;
}
}
be hopefull you can help me 希望你能帮助我
See, you don't initialize btnSamadengan
by findViewById
. 看,您没有通过
findViewById
初始化btnSamadengan
。 It has default null
value. 它具有默认的
null
值。 And so you get NPE at line 这样您就可以在线获得NPE
btnSamadengan.setOnClickListener(new View.OnClickListener() {
Try to add this code : 尝试添加以下代码:
btnSamadengan = (Button)findViewById(R.id.btnSamadengan);
After this code : 在此代码之后:
btnReset = (Button)findViewById(R.id.btnReset);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.