线性布局中未显示多个文本视图

时间:2013-07-11 08:01:09

标签: android android-linearlayout textview

我尝试开发一个小型Android应用程序,我使用片段功能。这是我的tab3的布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#FF0000"
    android:orientation="vertical" >


    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/European_Central_Bank" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Türk Lirası: " />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Dolar:" />

    <TextView
        android:id="@+id/textView3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Japon Yeni:" />

</LinearLayout>

这是Java部分:

public class Tab3Fragment extends Fragment {
    private String turkishLira;
    private String dollar;
    private String japaneseMoney;
    URL url;

    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {

        View myCreateView=(LinearLayout)inflater.inflate(R.layout.tab_frag3_layout, container, false);

        getCurrencyInfo();


        TextView textView1 = (TextView) myCreateView.findViewById(R.id.textView1);
        TextView textView2 = (TextView) myCreateView.findViewById(R.id.textView2);
        TextView textView3 = (TextView) myCreateView.findViewById(R.id.textView3);
        textView1.setText(turkishLira);
        textView2.setText(dollar);
        textView3.setText(japaneseMoney);


        return myCreateView;
    }

    getCurrencyInfo() {...}
}

问题是手机上只显示第一个textview。如果我交换第一和第二文本视图,这次显示具有静态内容的第二文本视图。 我错过了什么?我在getCurrencyInfo方法中没有任何问题,我打印了它的结果。 提前谢谢。

2 个答案:

答案 0 :(得分:1)

制作 XML 文件,如下所示:

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:text="@string/European_Central_Bank" />

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:text="Türk Lirası: " />

<TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:text="Dolar:" />

<TextView
    android:id="@+id/textView3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:text="Japon Yeni:" />

答案 1 :(得分:1)

我的猜测是turkishLira,dollar或japaneseMoney可能为null或为空。

你调试了getCurrencyInfo()方法吗?

你应该尝试

textView1.setText("turkishLira");
textView2.setText("dollar");
textView3.setText("japaneseMoney");

这将让您检查这是布局问题还是getCurrencyInfo()问题。