Android 设备上未显示 TextView?

TextView not showing up on Android device?

我在线性布局中有几个视图。单击一个按钮后,一些数学计算就完成了。然后将结果显示在文本视图中。它在模拟器上运行良好,但在我的 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)。

删除 "id/answer" TextView 中的 android:layout_toLeftOf="@+id/convert"。不太确定设备之间的差异,但现在似乎是一致的。

此外,我认为 <requestFocus />

处有错字