2016-06-29 3 views
0

Я установил следующее для видимого в моем методе onCreate.Невозможно установить TextView в VISIBLE

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> 

Почему текстовое изображение не отображается как видимое в моем приложении?

+5

Можете ли вы опубликовать весь макет XML? –

+0

Это работает, если вы надуваете его, а затем устанавливаете его видимость? Как * TextView tv = (TextView) findView ...; tv.setVisibility (View.VISIBLE); * и, возможно, ваша строка res пуста? –

+0

какой на самом деле хотите сделать? – PriyankaChauhan

ответ

1

Изменить текстЦвет вашего текстового поля в файле макета или проверить, не перекрывает ли какой-либо вид вашего текста.

+0

У меня был другой textView, перекрывающий textView, в котором меня интересовало. Я не могу точно сказать, как я его исправил, потому что он потребовалось много проб и ошибок. Только одна из этих проблемных макетов xml. – santafebound

1

Убедитесь, что вы сначала задали контент. В противном случае вы получите NPE в результате того, что идентификатор не найден в активном макете.

Используйте экземпляр (не вызывайте findViewById(id).setVisibility(), так как он использует больше памяти по сравнению с кэшированием TextView в качестве поля), а затем установите видимость.

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

Наполните это, а затем установите его видимость.

setContentView(R.layout.something); 

TextView tv = (TextView) findView...;  

tv.setVisibility(View.VISIBLE); 

и, может быть, строка res не заполнена?

 Смежные вопросы

  • Нет связанных вопросов^_^