无法将TextView设置为VISIBLE

时间:2016-06-29 12:14:34

标签: java android textview imageview visibility

我在onCreate方法中将以下内容设置为可见。

findViewById(R.id.noDesignsCallToAction).setVisibility(View.VISIBLE);

在XML中,视图设置为可见性消失。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:weightSum="1"
    android:orientation="vertical"
    android:layout_below="@id/toolbar"
    android:id="@+id/linearLayout">

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="@string/go_ahead_create_something_n_it_s_really_easy_n_just_click_here_to_get_started"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:id="@+id/noDesignsCallToAction"
            android:padding="10dp"
            android:textSize="14sp"
            android:typeface="sans"
            android:visibility="gone"
            android:onClick="LaunchCustomizer"
            android:gravity="center_vertical|center_horizontal" />

</LinearLayout>

为什么textview在我的应用中不会显示?

3 个答案:

答案 0 :(得分:1)

确保先设置内容视图。否则,由于在活动布局中找不到ID,您将获得NPE。

使用实例(不要调用findViewById(id).setVisibility()因为它使用更多内存而不是将TextView缓存为字段),然后设置可见性。

setContentView(R.layout.layout);
TextView temp = (TextView) findViewById(R.id.noDesignsCallToAction);
temp.setVisibility(View.VISIBLE);

答案 1 :(得分:1)

给它充气,然后设置它的可见性。

    setContentView(R.layout.something);

TextView tv = (TextView)   findView...;     

tv.setVisibility(View.VISIBLE);

也许字符串res是空的?

答案 2 :(得分:1)

在布局文件中更改textview的textColor,或检查是否有任何视图与textview重叠。