Проблемы с преобразованием значения 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);