2017-06-29 11 views
0

私は、ユーザーがログインしているかどうかに基づいてLinearLayoutsの2つのうちの1つを示す2番目のアクティビティにXMLレイアウトを持っています。TextViewレイアウトエディタで[デザイン]パネルを表示すると正しく表示されますText Previewはデザインプレビューに表示されますが、実際のAndroidアプリでは表示されません

TextViewTextViewがあります(背景色を設定した場合、その色が表示されます)が、テキスト自体はレンダリングされません。

onCreateを持っているLoginActivityを開始するにMainActivity結果のボタンをクリックする(それはKotlinです):

override fun onCreate(savedInstanceState: Bundle?) { 
     super.onCreate(savedInstanceState) 
     setContentView(R.layout.login_layout) 

とレイアウト:

<?xml version="1.0" encoding="utf-8"?> 
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="vertical" 
     android:visibility="gone" 
     android:id="@+id/loggedOut" 
     android:padding="24dp"> 

     <android.support.design.widget.TextInputLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content"> 

      <EditText 
       android:id="@+id/passName" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:ems="10" 
       android:focusable="true" 
       android:hint="Username" 
       android:inputType="textCapCharacters" /> 
     </android.support.design.widget.TextInputLayout> 

     <android.support.design.widget.TextInputLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content"> 

      <EditText 
       android:id="@+id/passPin" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:ems="10" 
       android:focusable="true" 
       android:hint="PIN" 
       android:inputType="numberPassword" /> 
     </android.support.design.widget.TextInputLayout> 

     <Button 
      android:id="@+id/passSubmit" 
      style="@style/Widget.AppCompat.Button.Colored" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:text="Login" /> 
    </LinearLayout> 

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="vertical" 
     android:id="@+id/loggedIn" 
     android:visibility="visible" 
     android:padding="24dp"> 


     <TextView 
      android:id="@+id/loggedInMessage" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:text="You're currently logged in" 
      android:textAlignment="center" 
      android:textAppearance="@android:style/TextAppearance.Material.Headline" /> 

     <Button 
      android:id="@+id/passLogout" 
      style="@style/Widget.AppCompat.Button.Colored" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:text="Logout" /> 
    </LinearLayout> 

</FrameLayout> 

これは何のAndroidスタジオショー(これらのエラーですのバグで、パスワードの隠しアイコンなどが見つからないと言われています) What Android Studio shows me

そして、これは私のデバイスは
What I get on my device

編集を示したものです:私はTextViewと親LinearLayout以外のレイアウトファイル内のすべてを削除したし、それはまだ示していません。

+0

を持たないようmTextを示したレイアウトインスペクタツールを使用して実測

。デザインの警告が消えても問題は解決しません – Parker

+0

この行を削除するとどうなりますか? 'android:textAppearance = "@アンドロイド:style/TextAppearance.Material.Headline" /> '? –

+0

いいえ、それを試してみましたが、実際にXMLを「LinearLayout」と「TextView」 – Parker

答えて

1

問題が見つかりました。 android:text="You're currently logged in"android:text="You\'re currently logged in"に変更しました。だから私はAndroidでXMLでテキストを設定するときに一重引用符をエスケープする必要があると思いますか?私はそれが問題であったかどうかを確認するために、 `TextInputLayout`を除去する試みは値

+0

はい、そうです。しかし、リントはそれに不平を言うべきだった。 –

+0

ええと、そのエラーを見たことはありませんでした、私は文字列をハードコード化していると不平を言っていました。私はAndroid Studio 3 Canary 4にいるので、たぶんバグばかりでしょうか? – Parker

+1

またはLintが誤って設定されている可能性があります。あなたの意志で苦情をミュートすることができます。 –

関連する問題