Нельзя применить оператор - к "double", "android.widget.EditText"
Я новичок в мире Android:) Я прочитал учебник по Android и пытаюсь его использовать. Я хочу попытаться вычислить почечную функцию, я использовал EditText с NumberDecimal Type, чтобы получить три значения: age, weight, creat, а затем я использовал Radiogroup, чтобы выбрать значение, которое зависит от пола, но когда я хочу попробовать чтобы получить результат, я получаю ошибку
"Оператор" - "нельзя применить к" двойному "," android.widget.EditText "
Я не понимаю причину ошибки.
public class CG extends AppCompatActivity {
private RadioGroup ChoixSexe = null;
private double ChoixValeur=0;
private double Calcul=0;
private double age=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_cg);
EditText poids=(EditText)findViewById(R.id.poids);
EditText age=(EditText)findViewById(R.id.age);
EditText créat=(EditText)findViewById(R.id.créat);
ChoixSexe =(RadioGroup)findViewById(R.id.sexe);
ChoixSexe.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener(){
public void onCheckedChanged(RadioGroup group, int LeChoix){
switch (LeChoix)
{
case R.id.homme:
ChoixValeur =1.23;
break;
case R.id.femme:
ChoixValeur=1.04;
break;
}
}
});
Calcul=(140.0-age)/créat*poids*ChoixValeur;
}
}
Извиняюсь за мой английский, который немного приблизительный.
3 ответа
Это здесь:
Calcul=(140.0-age)/créat*poids*ChoixValeur;
не компилируется, потому что возраст является объектом класса EditText
,
получить текст (это будет строка), вызывающая метод age.getText()
, а затем разобрать, чтобы удвоить, чтобы вы могли выполнять математические операции с ним
Пример: (сначала подтвердите, что возраст является допустимым значением)
double d = Double.parseDouble(age.getText().toString());
calcul = (140.0 - d) / creat * poids * ChoixValeur;
Используйте Double.valueOf (age.getText ().toString ()) и убедитесь, что у вас есть числовое значение в этом текстовом поле
Вам необходимо преобразовать объекты EditText в double (или int, float, long и т. Д.), Чтобы использовать стандартные математические операторы.