【发布时间】:2015-03-03 01:54:15
【问题描述】:
我正在尝试在 Android Studio 中构建一个 2 货币转换器应用程序 (GNConverter)。我创建了一个带有 onClickLister() 的按钮来转换值或显示 Toast 消息。我在手机上运行时收到消息“不幸的是 GNConverter 已停止”。
XML:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:paddingTop="30dp"
android:paddingBottom="16dp"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/PromptTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Nigeria Naira (NGN)."
android:textSize="20sp"
android:layout_marginBottom="20dp"/>
<EditText
android:id="@+id/editText1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="numberDecimal"
android:layout_marginBottom="20dp"
android:hint="0"
android:textSize="50sp"/>
<TextView
android:id="@+id/PromptTextView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Ghanaian New Cedi (GHS)."
android:textSize="20sp"
android:layout_marginBottom="20dp"/>
<EditText
android:id="@+id/editText2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/PromptTextView"
android:inputType="numberDecimal"
android:layout_marginBottom="20dp"
android:hint="0"
android:textSize="50sp"/>
<Button
android:id="@+id/btnConvert"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="100dp"
android:text="Convert"/>
</LinearLayout>
我的活动课:
public class GNConverter extends ActionBarActivity implements View.OnClickListener{
private EditText text1;
private EditText text2;
private Button btnConvert;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_gnconverter);
text1 = (EditText) findViewById(R.id.editText1);
text2 = (EditText) findViewById(R.id.editText2);
btnConvert = (Button) findViewById(R.id.btnConvert);
btnConvert.setOnClickListener(this);
}
@Override
public void onClick(View v) {
if (v.getId()==R.id.btnConvert){
double a = Double.parseDouble(text1.getText().toString());
if (a>0){
double b = a * 0.016694;
text2.setText(String.valueOf(b));
}
else if (a<=0) {
Toast.makeText(GNConverter.this, "Enter a Value!", Toast.LENGTH_LONG).show();
}
}
}
}
【问题讨论】:
-
我们可以得到堆栈跟踪吗?编辑:您可能没有在编辑文本中输入有效的双精度。我建议您先过滤它。
-
@jvrodrigues 我是 android studio 新手,请问如何获取堆栈跟踪。此外,该应用程序正在运行,但是当该字段为空并且我按下按钮 - convert 时。它会崩溃而不是显示 toast 消息。