我的程序現在將執行以下操作:通過不同的方法返回雙重計算?
- 用戶輸入
- 用戶選擇一個轉換
- 用戶點擊提交
基於轉換採摘(使用單選按鈕)的值,我需要調用一個方法來執行轉換的計算,然後將轉換返回給case,但由於我返回了double,所以我遇到了問題。
package com.exercise_5;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
public class MainActivity extends Activity {
private String textValue;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
// Method called when the convert button is clicked
public void convert(View view) {
RadioGroup conRadioGroup = (RadioGroup) findViewById(R.id.conRadioGroup);
EditText textValue = (EditText) findViewById(R.id.editText1);
switch(conRadioGroup.getCheckedRadioButtonId()) {
case R.id.radioCelsiusToFahrenheit:
// Call the convert method
fahrenheitToCelsius();
//Return the converted variable
break;
case R.id.radioFahrenheitToCelsius:
fahrenheitToCelsius();
break;
default:
Log.e("Some class tag", "Invalid id was passed to conversion method doing celsius conversion.");
return celsiusToFahrenheit();
break;
}
}
public void fahrenheitToCelsius(Convert tempCelsius) {
double conCelsius = Double.parseDouble(textValue);
//Calculate Celsius
tempCelsius = ((conCelsius * 9)/5) + 32;
}
public double celsiusToFahrenheit(double tempInFahrenheit) {
double conFahrenheit = Double.parseDouble(textValue);
//Calculate Fahrenheit
return ((conFahrenheit * 9)/5) + 32;
}
public void clear(View view) {
//Reset Appended Strings After Previous Run
TextView fahrenheit_TV = (TextView) this.findViewById(R.id.textView1);
TextView celsius_TV = (TextView) this.findViewById(R.id.textView3);
fahrenheit_TV.setText("Fahrenheit: ");
celsius_TV.setText("Celsius: ");
}
}
你能準確地告訴你想要什麼嗎? –
基本上我需要的是在啓動case的情況下調用我的華氏方法,然後華氏方法返回一個我可以用來追加字符串的double。 – Snwspeckle