我一直在尝试学习 Java 进行 Android 开发,所以我决定尝试制作一个简单的转换器应用程序来学习。目前我有一个简单的用户界面,我正在尝试从摄氏度转换为华氏度。转换器将在工作时在摄氏度、华氏度和开尔文之间转换。
当我单击应该运行计算方法的按钮时,我收到错误“不幸的是,转换器已停止”。下面是我的代码,我还包含了视图的 XML。
包 com.michaelmurphy.converter; 导入android.app.Activity; 导入android.os.Bundle; 导入 android.widget.EditText; 导入 android.widget.Spinner; 公共类温度扩展活动{ /** 在第一次创建活动时调用。*/ @覆盖 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); 设置内容视图(R.layout.temperature_view); // TODO 自动生成的方法存根 } 公共无效临时计算() { //定义变量 浮点值 = 0; String from = "";//用于微调器 String to = "";//用于微调器 //获取输入值 EditText 输入 = (EditText) findViewById(R.id.editText1); //转换为字符串 字符串输入值 = input.getText().toString(); //将字符串转换为浮点数 浮点数 = Float.valueOf(enteredValue); //从微调器中获取值 final Spinner fromSpinner = (Spinner) findViewById(R.id.spinner1); 从 = fromSpinner.getSelectedItem().toString(); //检索到微调器值 最终微调器 toSpinner = (Spinner) 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(num); } 别的 { //值 = celToKel(num); } } else if(from.equals("Fahrenheit")) { if(to.equals("摄氏度")) { //值 = fahToCel(num); } 别的 { //值 = fahToKel(num); } } 否则//开尔文 { if(to.equals("摄氏度")) { //值 = kelToCel(num); } 别的 { //值 = kelToFah(num); } } //将标签设置为变量值 String valueStr = Float.toString(value);//将浮点数转换为字符串 output.setText(valueStr); } 公共浮动 celToFar(浮动 cel) { 浮动法 = cel * 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>
有没有人能指出我哪里出错了,我不知道。谢谢