ある金額を別の通貨に変換する小さなコードを書いています。アプリは、EditText (10 進数を受け入れるように構成されている) を介して 2 つの値を受け入れます。
コードは次のとおりです。
package kk.currency;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
public class CurrencyActivity extends Activity {
/** Called when the activity is first created. */
EditText inpval1;
EditText inpval2;
EditText rate;
int v1 = 0;
int v2 = 0;
int r = 0;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public void btnclick(View view) {
try {
inpval1 = (EditText)findViewById(R.id.away);
v1 = Integer.parseInt(inpval1.getText().toString());
inpval2 = (EditText)findViewById(R.id.home);
v2 = Integer.parseInt(inpval2.getText().toString());
rate = (EditText)findViewById(R.id.rate);
r = Integer.parseInt(rate.getText().toString());
}
catch (Exception e) {
Toast.makeText(this, "Empty field", Toast.LENGTH_SHORT).show();
}
finally {
v1 = v2 * r;
EditText destination = (EditText)findViewById(R.id.away);
destination.setText(Integer.toString(v1));
}
}
}
問題は、「btnclick」に関連付けられたボタンをクリックすると、空白のままになっているフィールド (および回答が表示されるはずの場所) に、入力に関係なく 0 が表示されることです。しかし、もう一度クリックすると正しい答えが表示されます。
また、空白のままにする必要があるフィールドに値を入力すると、最初に正しい値が表示されます。
何が問題になる可能性がありますか?!
「最終的に」を削除してそのコンテンツを「試してみる」に配置すると、ボタンをクリックしても応答がありません。
また、アプリの実行中、LogCat は完全に空です。
これは、誰かが要求したアプリのレイアウトです。
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="25dip"
android:layout_marginLeft="5dip"
android:text="@string/away"
android:textStyle="bold"
android:textSize="20dip"
android:textColor="#4199ae" />
<EditText
android:id="@+id/away"
android:digits="0123456789."
android:inputType="number"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dip"
android:hint="@string/c1" />
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="25dip"
android:layout_marginLeft="5dip"
android:text="@string/conv"
android:textStyle="bold"
android:textSize="20dip"
android:textColor="#4199ae" />
<EditText
android:id="@+id/rate"
android:digits="0123456789."
android:inputType="number"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dip"
android:hint="@string/rate" />
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="25dip"
android:layout_marginLeft="5dip"
android:text="@string/home"
android:textStyle="bold"
android:textSize="20dip"
android:textColor="#4199ae" />
<EditText
android:id="@+id/home"
android:digits="0123456789."
android:inputType="number"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dip"
android:hint="@string/c2" />
<Button
android:id="@+id/but"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="25dip"
android:text="@string/buttxt"
android:onClick="btnclick" />