私は 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>
私が間違っているところを指摘できる人はいますか、私にはわかりません。ありがとう