为什么我的应用程序崩溃了?我正在使用eclipse。我不明白为什么它会崩溃。对我来说一切似乎都很好。我看到没有丢失的半连枷。
package rechee.cool;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class HelloAndroidActivity extends Activity {
/** Called when the activity is first created. */
public EditText display;
double total1=0;
double total2=0;
char theOperator;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
display= (EditText) findViewById(R.id.editText1);
}
String display1= display.getText().toString();
public void getOperator(String btnText){
theOperator = btnText.charAt(0);
double displayValue= Double.parseDouble(display1);
total1+=displayValue;
display.setText("");
}
public void onClick(View v) {
switch(v.getId()){
case R.id.bOne:
display.append("1");
break;
case R.id.bTwo:
display.append("2");
break;
case R.id.bThree:
display.append("3");
break;
case R.id.bFour:
display.append("4");
break;
case R.id.bFive:
display.append("5");
break;
case R.id.bSix:
display.append("6");
break;
case R.id.bSeven:
display.append("7");
break;
case R.id.bEight:
display.append("8");
break;
case R.id.bNine:
display.append("9");
break;
case R.id.bZero:
display.append("0");
break;
case R.id.bPoint:
display.append(".");
break;
case R.id.bClear:
display.setText("");
break;
case R.id.bAdd:
String btn_text= (String) getText(R.id.bAdd);
display.setText(btn_text);
//getOperator(display1);
break;
//case R.id.bEqual:
}
}
}
答案 0 :(得分:0)
老兄,你必须发布stackface。当没有堆栈跟踪时我的脸 - > :|
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
display= (EditText) findViewById(R.id.editText1);} // <--This curly brace is probably the problem
String display1= display.getText().toString();
public void getOperator(String btnText){
theOperator = btnText.charAt(0);
double displayValue= Double.parseDouble(display1);
total1+=displayValue;
display.setText("");
}
答案 1 :(得分:0)
我猜你得到了NullPointerException。
String display1= display.getText().toString();
该行实际上是声明HelloAndroidActivity
类的实例成员,当尝试初始化时,该成员指的是display
,它是空的。
答案 2 :(得分:0)
我认为onCreatemethod你应该添加:
display= (EditText) findViewById(R.id.editText1);
这样:
display.setOnClickListener(this);
你还应该像这样添加final:
final public EditText display;
final double total1=0;
final double total2=0;
final char theOperator;
final String display1= display.getText().toString();
尝试对getOperator方法进行注释,看看是否有效。哦,正如GriffeyDog说你那里有一个很大的错误。在绘制屏幕后获取文本,例如。后:
display= (EditText) findViewById(R.id.editText1);
答案 3 :(得分:0)
这样做。
...
String display1;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
display= (EditText) findViewById(R.id.editText1);
display1= display.getText().toString()
}
...