我是Android开发的新手,现在我正在为医护人员构建一个简单的计算器。我的程序实现了OnClickListener类,但每次单击按钮启动计算时,都会收到错误消息“未找到源”。
以下是代码:
public class KidneyeGFR extends Activity implements OnClickListener {
TextView EditAge;
TextView EditSerum;
TextView Gfrtext;
RadioButton Male;
RadioButton Female;
RadioButton EveryoneElse;
RadioButton African;
Button Calculate;
double gender;
double race;
double finalgfr;
private static final int GFRCONST = 186;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
EditAge = (TextView)this.findViewById(R.id.EditAge);
EditSerum = (TextView)this.findViewById(R.id.EditSerum);
Male = (RadioButton)this.findViewById(R.id.Male);
Male.setChecked(true);
Female = (RadioButton)this.findViewById(R.id.Female);
EveryoneElse = (RadioButton)this.findViewById(R.id.EveryoneElse);
EveryoneElse.setChecked(true);
African = (RadioButton)this.findViewById(R.id.African);
Calculate = (Button)this.findViewById(R.id.Calculate);
Calculate.setOnClickListener(this);
}
public void onClick(View v) {
if (Female.isChecked()) {
gender = 0.742;
}
else {
gender = 1.0;
}
if (African.isChecked()) {
race = 1.212;
}
else {
race = 1.0;
}
calculateGFR();
}
protected void calculateGFR() {
int age = Integer.parseInt(EditAge.getText().toString());
double serum = Double.parseDouble(EditSerum.getText().toString());
finalgfr = GFRCONST * Math.pow(serum, -1.154) * Math.pow(age, -0.203) * gender * race;
Gfrtext.setText(Double.toString(finalgfr));
}
答案 0 :(得分:1)
定义TextView Gfrtext ...
Gfrtext = (TextView)this.findViewById(R.id.Gfrtext);
实际上你得到一个NullPointerException,检查LogCat或Debug视图以获得有关你的app异常的更多具体细节。
这是个大问题! =)
答案 1 :(得分:0)
我认为你错过了Female / African / EditAge / etc的初始化。在onCreate方法中。在这里,您应该使用findViewById方法加载所有这些。调试时可以很容易地检查这一点(尝试在onClick方法的第一行放置一个断点)。
顺便说一句,Java中的约定是对象的成员和方法总是以小写字母开头,对象名称以大写字母开头。
答案 2 :(得分:0)
您的代码没有任何问题!这就是Eclipse Exception 检查一下...... Eclipse debugging “source not found”