2015-06-02 150 views
3

我在线性布局中有几个视图。点击一个按钮后,一些数学就完成了。结果然后显示在文本视图中。它在模拟器上工作正常,但它不在我的Android设备上。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

对不起,相对布局。 – Akutow

+0

如果您正在使用if-else,则不应使用返回。 –

回答

1

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

此外,我认为有一个错字<requestFocus />

相关问题