私は Android 開発のために Java を学ぼうとしてきたので、簡単なコンバーター アプリケーションを作成して学習することにしました。現在、私はシンプルな UI を持っており、摂氏から華氏に変換しようとしています。コンバーターは、機能すると、摂氏、華氏、ケルビンの間で変換します。
計算メソッドを実行するはずのボタンをクリックすると、「残念ながら、コンバーターが停止しました」というエラーが表示されます。以下は私のコードです。ビューの XML も含めました。
パッケージ com.michaelmurphy.converter;
android.app.Activity をインポートします。
android.os.Bundle をインポートします。
android.widget.EditText をインポートします。
android.widget.Spinner をインポートします。
公開クラス 温度はアクティビティを拡張します {
/** アクティビティが最初に作成されたときに呼び出されます。*/
@オーバーライド
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.temperature_view);
// TODO 自動生成メソッド スタブ
}
public void tempCalc()
{
//変数を定義する
フロート値 = 0;
String from = "";//スピナー用
String to = "";//スピナー用
// 入力値を取得
EditText 入力 = (EditText) findViewById(R.id.editText1);
//文字列に変換
String enterValue = input.getText().toString();
// 文字列を float に変換
float num = Float.valueOf(enteredValue);
// スピナーの値を取得する
最終スピナー fromSpinner = (スピナー) findViewById(R.id.spinner1);
from = fromSpinner.getSelectedItem().toString();
// to スピナーの値を取得します
最終スピナー toSpinner = (スピナー) findViewById(R.id.spinner1);
to = toSpinner.getSelectedItem().toString();
EditText 出力 = (EditText) findViewById(R.id.textView2);
/*if(from.equals(to)) //同じ変換タイプ
{
//エラー
}*/
if(from.equals("摂氏"))
{
if(to.equals("華氏"))
{
値 = celToFar(数値);
}
そうしないと
{
//値 = celToKel(数値);
}
}
else if(from.equals("華氏"))
{
if(to.equals("摂氏"))
{
//value = fahToCel(num);
}
そうしないと
{
//値 = fahToKel(数値);
}
}
そうでなければ//ケルビン
{
if(to.equals("摂氏"))
{
//値 = kelToCel(数値);
}
そうしないと
{
//値 = kelToFah(数値);
}
}
//ラベルを変数値に設定
String valueStr = Float.toString(value);// float を文字列にキャストする
output.setText(valueStr);
}
public float celToFar(float cel)
{
float fah = セル * 9/5 + 32;
fah を返します。
}
}
XML コードを表示:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/app_name"
android:textAppearance="?android:attr/textAppearanceLarge" />
<EditText
android:id="@+id/editText1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="numberDecimal" >
<requestFocus />
</EditText>
<Spinner
android:id="@+id/spinner1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:entries="@array/temp_arr" />
<Spinner
android:id="@+id/spinner2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:entries="@array/temp_arr" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/convertBtn"
android:onClick="tempCalc" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:textAppearance="?android:attr/textAppearanceLarge" />
</LinearLayout>
私が間違っているところを指摘できる人はいますか、私にはわかりません。ありがとう