使用资源布局显示TextView文本

时间:2013-01-06 02:07:43

标签: c# android layout textview monodevelop

我正在使用MonoDevelop for Android,并且有关于在TextView中显示文本的问题。

这是我的代码:

        string stringNameDisplayText = "Test Name";
        string stringOwnerDisplayText = "Test Owner";
        string stringAddressDisplayText = "Test Address";
        string stringPhoneDetailsDisplayText = "0800 832 832";
        string stringWebDetailsDisplayText = "http://www.google.co.nz";
        string stringEmailDetailsDisplayText = "me@me.co.nz";
        string stringComentsDisplayText = "Test comments";

        var labelName = FindViewById<TextView> (Resource.Id.TextViewName);
        labelName.Text = stringNameDisplayText;

        var labelOwner = FindViewById<TextView> (Resource.Id.TextViewOwner);
        labelOwner.Text = stringOwnerDisplayText;

        var labelAddress = FindViewById<TextView> (Resource.Id.TextViewAddress);
        labelOwner.Text = stringAddressDisplayText;

这是我的资源布局文件代码:

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

    <TextView android:id="@+id/TextViewName" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"
    android:paddingTop="20dip"/> 

    <TextView android:id="@+id/TextViewOwner" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"
    android:paddingTop="20dip"/> 

    <TextView android:id="@+id/TextViewAddress" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"
    android:paddingTop="20dip"/>    

    <TextView android:id="@+id/TextViewPhone"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:autoLink="phone"
    android:paddingTop="20dip"/>    

    <TextView android:id="@+id/TextViewWeb"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:autoLink="web"
    android:paddingTop="20dip"/> 

    <TextView android:id="@+id/TextViewEmail"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:autoLink="email"
    android:paddingTop="20dip"/>

    <TextView android:id="@+id/TextViewComments" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"/>

</LinearLayout>

由于某种原因,我无法在stringAddressDisplayText的同时显示stringOwnerDisplayText。如果我注释掉labelOwner代码,则stringAddressDisplayText会正确显示,如果我注释掉labelAddress,则stringOwnerDisplayText会正确显示。如果两者都没有注释掉,则只显示stringNameDisplayText和stringAddressDisplayText,而不是stringNameDisplayText,stringOwnerDisplayText和stringAddressDisplayText。

我可以请一些帮助以使其正常工作。

1 个答案:

答案 0 :(得分:0)

这是因为你指定了labelOwner两次吗?

试试这个:

var labelOwner = FindViewById<TextView> (Resource.Id.TextViewOwner);
    labelOwner.Text = stringOwnerDisplayText;

var labelAddress = FindViewById<TextView> (Resource.Id.TextViewAddress);
labelAddress.Text = stringAddressDisplayText;