2017-06-22 130 views
11

Oturum açma bölümüm var ve e-posta ve parola için TextInputLayout kullanıyorum. İkisi de aynı. Ayrıca Hata iletisini göstermek için Veri bağlama özelliğini kullanırım. Hata İpucu, Hata İpucu gösterilmesi gerektiğinde, API < 20 adresinde gerçekleşmektedir.ColorStateList şişirilemedi, çerçeveye bırakıldı java.lang.UnsupportedOperationException: Renge dönüştürülemiyor: type = 0x2

@Override 
    public void showEmailError() { 
     inputLayoutEmail.setError(sInvalidEmail); 
    } 

xml düzenini: Arka plan olarak

 <android.support.design.widget.TextInputLayout 
      android:id="@+id/til_email" 
      android:layout_height="wrap_content" 
      android:layout_width="match_parent" 
      android:layout_marginLeft="@dimen/default_margin_16dp" 
      android:layout_marginRight="@dimen/default_margin_16dp" 
      android:layout_marginTop="16dp" 
      android:layout_below="@id/login_img_logo" 
      android:layout_centerHorizontal="true" 
      android:textColorHint="@color/gray" 
      android:background="@drawable/login_edittext" 
      android:errorEnabled="@{viewmodel.obEmailErrorVisibility}" 
      > 

      <EditText 
       android:id="@+id/et_login" 
       android:layout_height="@dimen/login_view_height" 
       android:layout_width="@dimen/login_view_width" 
       android:inputType="text" 
       android:maxLength="50" 
       android:hint="@string/activity_login_hint_email" 
       android:text="@={viewmodel.email}" 
       android:textColor="@color/black" 
       android:textColorHint="@color/gray" 
       android:paddingLeft="@dimen/default_margin_16dp" 
       android:enabled="@{viewmodel.obIsEmailFieldEnabled}" 
       /> 

     </android.support.design.widget.TextInputLayout> 

     <android.support.design.widget.TextInputLayout 
      android:id="@+id/til_password" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="@dimen/default_margin_16dp" 
      android:layout_marginRight="@dimen/default_margin_16dp" 
      android:layout_marginTop="@dimen/default_margin_8dp" 
      android:layout_below="@id/til_email" 
      android:layout_centerHorizontal="true" 
      android:textColorHint="@color/gray" 
      android:background="@drawable/login_edittext" 
      android:errorEnabled="@{viewmodel.obPassErrorVisibility}" 
      > 

      <EditText 
       android:id="@+id/et_password" 
       android:layout_width="@dimen/login_view_width" 
       android:layout_height="@dimen/login_view_height" 
       android:hint="@string/activity_login_hint_password" 
       android:maxLength="50" 
       android:inputType="textPassword" 
       android:text="@={viewmodel.password}" 
       android:textColor="@color/black" 
       android:textColorHint="@color/gray" 
       android:paddingLeft="@dimen/default_margin_16dp" 
       android:enabled="@{viewmodel.obIsPassFieldEnabled}" 
       /> 

     </android.support.design.widget.TextInputLayout> 

kullandığım login_edittext.xml

<solid android:color="@color/white" /> 

<corners 
    android:radius="@dimen/login_edittext_radius" 
    /> 

Ben benzer cevaplarını kontrol var, ama bunların çoğu Yani, benim için çalışıyor bu çözüm ile bitirdikten stilleri

Can't convert to color: type=0x2 error when inflating layout in fragment but only on Samsung Galaxy and Note 4

+0

yeni stil eklemek? Ben de aynı zamanda lolipop de –

+0

ile karşı karşıyayım Geç cevap için üzgünüm, nihayet benim için çalışıyor benim çözüm ekledim – aleksandrbel

+0

cevabını kabul etmelisin –

cevap

13

ilişkilidir. Eğer bu bir çözüm buldunuz, Hi

TextInputLayoutiçin bu dizeyi

app:errorTextAppearance="@style/MyAppTheme.TextInputLayout" 

eklemek Ve styles.xml

<style name="MyAppTheme.TextInputLayout" parent="@android:style/TextAppearance"> 
     <item name="android:textColor">@color/red</item> 
    </style> 
+0

Benim için çalışmıyor ... Herhangi bir fikir? – user7856586

+0

Sorun hakkında daha fazla bilgi verebilir misiniz? – aleksandrbel

+0

Sorun, ilk yerelleştirme ayarlarını yaptığım ve doğru şekilde yapmadığı BaseActivty'de Yapılandırıldıkte yöntemde idi, bu yüzden çalışmadı. Şimdi tamam. Teşekkürler. – user7856586