2016-06-29 10 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

レイアウトファイル内のテキストビューのtextColorを変更するか、ビューがテキストビューと重なっていないかどうかを確認してください。

+0

私が関心を持っていたtextViewをオーバーラップさせた別のtextViewがありました。多くの試行錯誤が必要でした。それらの複雑なレイアウトxmlの問題の1つ。 – santafebound

1

コンテンツビューを最初に設定してください。そうしないと、アクティブなレイアウトでIDが見つからないため、NPEを取得します。

インスタンスを使用します(フィールドとしてTextViewをキャッシュするのに比べてメモリを多く使用するため、findViewById(id).setVisibility()を呼び出しないでください)。次に可視性を設定します。

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は空ですか?

関連する問題