我正在编写一个小代码来将一种货币转换为另一种货币。该应用程序通过 EditText 接受两个值(配置为接受十进制数字)- 1) 本国或外地货币(如果填写了一个,则另一个字段留空) 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。但是当再次单击时,会显示正确的答案。
如果我在应该留空的字段中输入任何值,则第一次显示正确的值。
可能是什么问题?!
在删除“finally”并将其内容放入“try”时,我什至在单击按钮时都没有得到任何响应。
此外,在应用程序执行期间,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" />