setText不显示值

时间:2013-05-24 20:20:38

标签: android textview

调用函数时,我的一个textViews没有被调整:

public void wordList() {
         setContentView(R.layout.activity_main);
         TextView lv = (TextView) findViewById(R.id.listText);
         lv.setText("Text");
}

这是xml: 如果我将android:text =“Text”添加到xml中就可以了。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" 
    android:gravity="center_horizontal"
    android:background ="#268496" >

    <LinearLayout android:id="@+id/linear"
        android:orientation="horizontal"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">

     <TextView
        android:id="@+id/prefixText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="#FFFFFF"
        android:textIsSelectable="true"
        android:textSize="12pt"
        android:typeface="sans" />

     <EditText
        android:focusable="true"
        android:focusableInTouchMode="true"
        android:id="@+id/input"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inputType="text"
        android:textSize="12pt"
        android:maxLength="1"
        android:typeface="sans" />

    </LinearLayout>

      <TextView
        android:id="@+id/listText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/linear"
        android:textColor="#FFFFFF"
        android:textIsSelectable="true"
        android:textSize="12pt"
        android:typeface="sans" />

</RelativeLayout>

3 个答案:

答案 0 :(得分:2)

如果在此处运行后调用setContentView(),则会覆盖此调用并将内容设置为默认值(xml中的内容)。如果您在setContentView()中呼叫onCreate(),那么只要TextView位于该xml内,您就不需要再次呼叫它。

因此,请在setContentView()中拨打onCreate(),然后调用您的功能

 wordList();

然后

public void wordList() {
     TextView lv = (TextView) findViewById(R.id.listText);
     lv.setText("Text");
}

答案 1 :(得分:1)

你有textview文本的白色。因此,如果背景颜色为白色,那么您就是看不到它。

答案 2 :(得分:0)

您在发布的示例中没有做任何“错误”的事情。这里可能发生的事情有:

a)是你可见区域内的TextView(硬编码一些文字,看它是否显示)

b)你确定要调用设置文本的方法吗?

c)你在其他地方有其他一些重叠的ID会让这个过程感到困惑吗?

必须是这样的。