0

我尝试开发一个小型 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() {...}
}

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

4

2 回答 2

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:" />
于 2013-07-11T08:04:22.987 回答
1

我的猜测是 turkishLira、dollar 或 JapaneseMoney 可能为空或为空。

您是否调试过 getCurrencyInfo() 方法?

你也许应该试试

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

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

于 2013-07-11T08:10:50.657 回答