Проблемы с преобразованием значения EditText в двойное / целое число и выполнением математических функций в Android

Во-первых, я новичок в этом... поэтому, если то, что я делаю, довольно просто исправить (или делаю в целом), я прошу прощения:)

Я пытаюсь взять пользовательский ввод (кругов [int], расход топлива [двойной], и кругов функции [int]), чтобы создать простой калькулятор топлива для гонщиков. Однако у меня возникают проблемы с распознаванием переменных. Я продолжаю получать сообщения о том, что не могу использовать одну функцию в определенном классе и тому подобное. У меня есть поля XML, назначенные только для этих типов чисел, так что теперь я работаю строго в Java.

У меня была штука, работающая в компиляторе java, но перенос ее на Android - это совсем другой процесс, который я изучаю.

После расчета по данным, введенным пользователем, я хочу, чтобы назначенный textView изменился на правильные ответы. Я думаю, что часть в порядке, но получение значений в математически жизнеспособных значениях, где я сталкиваюсь с проблемой.

Я приложил весь код здесь (извините за избыточность с комментариями, мешает мне искать формула хаха). Мы будем благодарны за любую помощь, которую вы можете оказать! Я сделаю все возможное, чтобы извлечь уроки из других математических действий в этом приложении.


    package com.tomcat.carolina.learning;

    import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.RadioGroup;
    import android.widget.TextView;




    //double pracLaps, fuelUsed, featureLaps, textLPGValue, textFuelNeededValue;


    public class Fuelsimple extends Activity implements OnClickListener{

EditText fuelUsed, pracLaps, featureLaps;
TextView textLPGValue, textFuelNeededValue;
//efficiency = (pracLaps / fuelUsed);
//fuelNeeded = (featureLaps / efficiency);

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fuelsimple);

pracLaps = (EditText) findViewById(R.id.pracLaps);
fuelUsed = (EditText) findViewById(R.id.fuelUsed);
featureLaps = (EditText) findViewById(R.id.featureLaps);
Button gen = (Button) findViewById(R.id.submit);
textLPGValue = (TextView) findViewById(R.id.textLPGvalue);
textFuelNeededValue = (TextView) findViewById(R.id.textFuelNeededValue);








gen.setOnClickListener(new View.OnClickListener() {     
    public void onClick(View v) {
        // TODO Auto-generated method stub



        textLPGValue.setText(getNextDecimal(pracLaps / fuelUsed));
        textFuelNeededValue.setText(getNextDecimal(featureLaps/(pracLaps / fuelUsed)));
    };
    });

1 ответ

Решение

Я надеюсь, что это то, что вы ищете:

pracLaps = (EditText) findViewById(R.id.pracLaps);
fuelUsed = (EditText) findViewById(R.id.fuelUsed);
featureLaps = (EditText) findViewById(R.id.featureLaps);

pracLapsVar = Double.parseDouble(pracLaps.getText().toString());
fuelUserVar = Double.parseDouble(fuelUsed.getText().toString());
featureLapsVar = Double.parseDouble(featureLaps.getText().toString());


efficiency = (pracLapsVar / fuelUsedVar);
fuelNeeded = (featureLapsVar / efficiency);
Другие вопросы по тегам