Java 转换/更改edittext输入以用于其他计算。
所以我有一个表格,其中有两个东西需要计算,每发球千卡(这是有效的)和每公斤千卡(这是我被卡住的地方) 基本上,从与单选按钮关联的编辑文本中,我需要执行一个计算,结果的数字需要在另一个公式中使用 比如说,如果有人在编辑文本中输入200,并选择单选按钮grams,我需要计算1000/200=5,并在另一个计算中使用5。 如果他们选择7盎司,我需要如下转换(1000/(7*28.3495))并在计算中使用该结果 我真的不知道该怎么做,因为我不断地遇到错误,结果是0或“无穷大” 下面是相关的代码,请注意,它可能很难看(我只学了一天左右) 爪哇: 内容XML:Java 转换/更改edittext输入以用于其他计算。,java,android,Java,Android,所以我有一个表格,其中有两个东西需要计算,每发球千卡(这是有效的)和每公斤千卡(这是我被卡住的地方) 基本上,从与单选按钮关联的编辑文本中,我需要执行一个计算,结果的数字需要在另一个公式中使用 比如说,如果有人在编辑文本中输入200,并选择单选按钮grams,我需要计算1000/200=5,并在另一个计算中使用5。 如果他们选择7盎司,我需要如下转换(1000/(7*28.3495))并在计算中使用该结果 我真的不知道该怎么做,因为我不断地遇到错误,结果是0或“无穷大” 下面是相关的代码,请注
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:showIn="@layout/activity_k_cals">
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
scrollIndicators=-right--
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="30dp"
android:textAlignment="center"
android:text="Input the relevant nutritional information from your chosen dog food into this calculator to determine the amount of kCals present in each serving."
android:textAppearance="?android:attr/textAppearanceMedium"
/>
<TextView
android:id="@+id/textView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textView1"
android:layout_marginLeft="20dp"
android:layout_marginTop="43dp"
android:text="Serving Size"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/txtNumber4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/textView5"
android:layout_alignRight="@+id/textView1"
android:ems="2"
android:inputType="numberDecimal" />
<EditText
android:id="@+id/txtNumber5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/textView5"
android:layout_alignRight="@+id/textView1"
android:ems="2"
android:inputType="numberDecimal" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textView5"
android:layout_marginLeft="20dp"
android:layout_marginTop="43dp"
android:text="Carbohydrates"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/txtNumber1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/textView2"
android:layout_alignRight="@+id/textView1"
android:ems="2"
android:inputType="numberDecimal" />
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView2"
android:layout_below="@+id/textView2"
android:layout_marginTop="47dp"
android:text="Protein"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/txtNumber2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="2"
android:inputType="numberDecimal"
android:layout_above="@+id/textView4"
android:layout_alignLeft="@+id/txtNumber3"
android:layout_alignStart="@+id/txtNumber3" />
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView2"
android:layout_below="@+id/textView3"
android:layout_marginTop="47dp"
android:text="Fat"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/txtNumber3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/btnAdd"
android:layout_alignLeft="@+id/txtNumber1"
android:ems="2"
android:inputType="numberDecimal" />
<Button
android:id="@+id/btnAdd"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView3"
android:layout_below="@+id/textView4"
android:layout_marginTop="46dp"
android:text="kCals per serve" />
<TextView
android:id="@+id/txtResult"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_alignBottom="@+id/btnAdd"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" />
<Button
android:id="@+id/btnAdd2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/textView3"
android:layout_below="@+id/btnAdd"
android:layout_marginTop="20dp"
android:text="kCals per kg" />
<TextView
android:id="@+id/txtResult2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/btnAdd2"
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="false"/>
<RadioGroup xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_alignBottom="@id/txtNumber4"
android:layout_alignParentEnd="false"
android:layout_alignParentRight="false"
android:layout_alignParentStart="false"
android:layout_alignParentLeft="false"
android:layout_toStartOf="@id/txtNumber4"
android:layout_toLeftOf="@id/txtNumber4"
android:id="@+id/groupRadio">
<RadioButton android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="grams"
android:checked="true"
android:layout_marginRight="15dp"
android:id="@+id/radioButton1"
android:onClick="onRadioButtonClicked"/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="ounces"
android:layout_marginRight="15dp"
android:id="@+id/radioButton2"
android:onClick="onRadioButtonClicked" />
</RadioGroup>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/kcalKG"
android:layout_alignTop="@+id/btnAdd2"
android:layout_alignRight="@+id/txtNumber3"
android:layout_alignEnd="@+id/txtNumber3"/>
</RelativeLayout>
我已经编辑了您的代码,请尝试使用此。始终以礼貌和干净的方式更正代码,以便其他人能够理解。检查一下,让我知道
EditText firstNumber;
EditText secondNumber;
EditText thirdNumber;
EditText serving;
TextView addResult;
TextView addResult2;
Button btnAdd;
Button btnAdd2;
RadioButton gradio, oradio;
double num1, num2, num3, num4, sum, serve, sumkg;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_k_cals);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
this.getWindow().setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
{
firstNumber = (EditText) findViewById(R.id.txtNumber1);
secondNumber = (EditText) findViewById(R.id.txtNumber2);
thirdNumber = (EditText) findViewById(R.id.txtNumber3);
addResult = (TextView) findViewById(R.id.txtResult);
btnAdd = (Button) findViewById(R.id.btnAdd);
firstNumber = (EditText) findViewById(R.id.txtNumber1);
secondNumber = (EditText) findViewById(R.id.txtNumber2);
thirdNumber = (EditText) findViewById(R.id.txtNumber3);
serving = (EditText) findViewById(R.id.txtNumber4);
addResult2 = (TextView) findViewById(R.id.txtResult2);
btnAdd2 = (Button) findViewById(R.id.btnAdd2);
btnAdd.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
num1 = Double.parseDouble(firstNumber.getText().toString());
num2 = Double
.parseDouble(secondNumber.getText().toString());
num3 = Double.parseDouble(thirdNumber.getText().toString());
sum = (num1 * 4) + (num2 * 4) + (num3 * 9);
addResult.setText(String.format("%.2f", sum));
}
});
btnAdd2.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v) {
num1 = Double.parseDouble(firstNumber.getText().toString());
num2 = Double
.parseDouble(secondNumber.getText().toString());
num3 = Double.parseDouble(thirdNumber.getText().toString());
num4 = Double.parseDouble(serving.getText().toString());
sum = (num1 * 4) + (num2 * 4) + (num3 * 9);
sumkg = (serve * sum);
addResult2.setText(String.format("%.2f", sumkg));
}
});
}
}
public void onRadioButtonClicked(View v) {
// require to import the RadioButton class
gradio = (RadioButton) findViewById(R.id.radioButton1);
oradio = (RadioButton) findViewById(R.id.radioButton2);
// is the current radio button now checked?
boolean checked = ((RadioButton) v).isChecked();
// now check which radio button is selected
// android switch statement
switch (v.getId()) {
case R.id.radioButton1:
if (checked)
serve = (1000 / num4);
break;
case R.id.radioButton2:
if (checked)
serve = (1000 / num4);
break;
}
}
}
EditText firstNumber;
EditText secondNumber;
EditText thirdNumber;
EditText serving;
TextView addResult;
TextView addResult2;
Button btnAdd;
Button btnAdd2;
RadioButton gradio, oradio;
double num1, num2, num3, num4, sum, serve, sumkg;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_k_cals);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
this.getWindow().setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
{
firstNumber = (EditText) findViewById(R.id.txtNumber1);
secondNumber = (EditText) findViewById(R.id.txtNumber2);
thirdNumber = (EditText) findViewById(R.id.txtNumber3);
addResult = (TextView) findViewById(R.id.txtResult);
btnAdd = (Button) findViewById(R.id.btnAdd);
firstNumber = (EditText) findViewById(R.id.txtNumber1);
secondNumber = (EditText) findViewById(R.id.txtNumber2);
thirdNumber = (EditText) findViewById(R.id.txtNumber3);
serving = (EditText) findViewById(R.id.txtNumber4);
addResult2 = (TextView) findViewById(R.id.txtResult2);
btnAdd2 = (Button) findViewById(R.id.btnAdd2);
btnAdd.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
num1 = Double.parseDouble(firstNumber.getText().toString());
num2 = Double
.parseDouble(secondNumber.getText().toString());
num3 = Double.parseDouble(thirdNumber.getText().toString());
sum = (num1 * 4) + (num2 * 4) + (num3 * 9);
addResult.setText(String.format("%.2f", sum));
}
});
btnAdd2.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v) {
num1 = Double.parseDouble(firstNumber.getText().toString());
num2 = Double
.parseDouble(secondNumber.getText().toString());
num3 = Double.parseDouble(thirdNumber.getText().toString());
num4 = Double.parseDouble(serving.getText().toString());
sum = (num1 * 4) + (num2 * 4) + (num3 * 9);
sumkg = (serve * sum);
addResult2.setText(String.format("%.2f", sumkg));
}
});
}
}
public void onRadioButtonClicked(View v) {
// require to import the RadioButton class
gradio = (RadioButton) findViewById(R.id.radioButton1);
oradio = (RadioButton) findViewById(R.id.radioButton2);
// is the current radio button now checked?
boolean checked = ((RadioButton) v).isChecked();
// now check which radio button is selected
// android switch statement
switch (v.getId()) {
case R.id.radioButton1:
if (checked)
serve = (1000 / num4);
break;
case R.id.radioButton2:
if (checked)
serve = (1000 / num4);
break;
}
}