2016-06-29 15 views
0

Ich setze folgendes in meiner onCreate-Methode sichtbar.TextView kann nicht auf VISIBLE gesetzt werden

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

In der XML ist die Sicht auf Sichtbarkeit gegangen.

<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> 

Warum wird die Textansicht in meiner App nicht als sichtbar angezeigt?

+5

Können Sie das gesamte Layout XML posten? –

+0

Funktioniert es, wenn Sie es aufblasen und dann seine Sichtbarkeit einstellen? Wie * TextView tv = (TextView) findView ...; tv.setVisibility (View.VISIBLE); * und vielleicht ist Ihr String res leer? –

+0

was wollen Sie eigentlich tun? – PriyankaChauhan

Antwort

1

Ändern Sie die Textfarbe Ihrer Textansicht in der Layoutdatei oder prüfen Sie, ob eine Ansicht Ihre Textansicht überlappt.

+0

Ich hatte einen anderen textView, der den textView überlappte, an dem ich interessiert war. Ich kann nicht genau sagen, wie ich ihn repariert habe erfordert viel Versuch und Irrtum. Nur eines dieser kniffligen Layout-XML-Probleme. – santafebound

1

Stellen Sie sicher, dass Sie zuerst die Inhaltsansicht festlegen. Andernfalls erhalten Sie eine NPE, weil die ID im aktiven Layout nicht gefunden wurde.

Verwenden Sie eine Instanz (rufen Sie nicht findViewById(id).setVisibility() auf, da sie mehr Speicher belegt, als das TextView als Feld zwischengespeichert wird), und legen Sie dann die Sichtbarkeit fest.

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

Aufblasen und dann seine Sichtbarkeit einstellen.

setContentView(R.layout.something); 

TextView tv = (TextView) findView...;  

tv.setVisibility(View.VISIBLE); 

und vielleicht Zeichenfolge res ist leer?

Verwandte Themen