我一直在尝试学习 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>
有没有人能指出我哪里出错了,我不知道。谢谢