Ошибка OnClickListener: источник не найден - PullRequest
1 голос
/ 02 июня 2010

Я новичок в разработке 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));
}

Ответы [ 3 ]

1 голос
/ 02 июня 2010

определить TextView Gfrtext ...

  Gfrtext = (TextView)this.findViewById(R.id.Gfrtext);

На самом деле вы получаете исключение NullPointerException, проверьте представление LogCat или Debug, чтобы получить более подробную информацию об исключениях вашего приложения.

Это большая проблема !!! =)

0 голосов
/ 02 июня 2010

Ваш код не имеет проблем! это исключение затмения Проверь это... Отладка Eclipse «источник не найден»

0 голосов
/ 02 июня 2010

Я думаю, что вам не хватает инициализации Женский / Африканский / EditAge / и т.д. в методе onCreate. Здесь вы должны загрузить все это, используя метод findViewById. Это легко проверить при отладке (попробуйте поместить точку останова в первую строку метода onClick).

Кстати, в Java принято, что члены и методы объекта всегда начинаются с нижнего регистра, а имена объектов начинаются с верхнего регистра.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...