我在线性布局中有一些视图。单击按钮后,会完成一些数学运算。然后,结果将显示在textview中。它在模拟器上工作正常,但它不在我的Android设备上。
整个布局文件:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/text_enter"
android:textSize="20sp" />
<EditText
android:id="@+id/num"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/textView1"
android:inputType="number" >
<requestFocus />
</EditText>
<RadioGroup
android:id="@+id/radioGroup1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/num" >
<RadioButton
android:id="@+id/radioButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/radio_celsius"
android:onClick="onRadioButtonSelectUnit" />
<RadioButton
android:id="@+id/radioButton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/radio_fahrenheit"
android:onClick="onRadioButtonSelectUnit" />
</RadioGroup>
<Button
android:id="@+id/convert"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/radioGroup1"
android:onClick="onClickConvert"
android:text="@string/button_convert" />
<TextView
android:id="@+id/answer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/convert"
android:layout_marginLeft="5dp"
android:layout_marginRight="22dp"
android:layout_marginTop="17dp"
android:layout_toLeftOf="@+id/convert"
android:textColor="#000000"
android:textSize="20sp"
android:ellipsize="end" />
<TextView
android:id="@+id/unit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/answer"
android:layout_toRightOf="@+id/answer"
android:textColor="#000000"
android:textSize="20sp" />
</RelativeLayout>
这是onClick事件的一部分:
double result;
if(unitSelected.isChecked()){
EditText number = (EditText)findViewById(R.id.num);
TextView converted = (TextView)findViewById(R.id.answer);
TextView unit = (TextView)findViewById(R.id.unit);
result = Double.parseDouble(number.getText().toString()) * 9/5 + 32;
String finalResult = String.valueOf(result);
converted.setText(finalResult);
Toast.makeText(this,String.valueOf(result), Toast.LENGTH_LONG).show();
unit.setText("Fahrenheit");
return;
}
else {
EditText number = (EditText)findViewById(R.id.num);
TextView converted = (TextView)findViewById(R.id.answer);
TextView unit = (TextView)findViewById(R.id.unit);
result = (Double.parseDouble(number.getText().toString()) - 32) * 5/9;
String finalResult = String.valueOf(result);
converted.setText(finalResult);
unit.setText("Celsius");
return;
}
我之前设置的方式不同,没有使用finalResult字符串,但尝试了一些不同的东西来尝试让它运行起来。吐司只是为了确保数学正确完成。它是。 unit.setText()工作正常,但答案不会出现在它旁边。 它在模拟器上工作,而不是在我的设备上(注4)。
答案 0 :(得分:1)
删除“id / answer”TextView中的android:layout_toLeftOf="@+id/convert"
。不太清楚设备之间的差异,但它现在似乎排成一行。
另外,我认为<requestFocus />