6

में कस्टम शैली के साथ अपवाद उत्पन्न करता है मैं एक कस्टम शैली का उपयोग कर TextInputLayout के अंदर एक Edittext का उपयोग कर रहा हूं ताकि मैं संकेत रंग बदल सकूं। अगर मैं शैली की स्थापना के बिना EditText उपयोग करते हैं, setError विधि ठीक काम करता है, लेकिन साथ मेरी शैली सेट अगले अपवाद फेंक दिया जाता है:SetError TextInputLayout

java.lang.UnsupportedOperationException: Failed to resolve attribute at index 24: TypedValue{t=0x3/d=0x2b5 "res/color/secondary_text_material_dark.xml" a=1 r=0x1060166} 
                      at android.content.res.TypedArray.getColor(TypedArray.java:447) 
                      at android.widget.TextView.<init>(TextView.java:745) 
                      at android.widget.TextView.<init>(TextView.java:678) 
                      at android.widget.TextView.<init>(TextView.java:674) 
                      at android.widget.TextView.<init>(TextView.java:670) 
                      at android.support.design.widget.TextInputLayout.setErrorEnabled(TextInputLayout.java:380) 
                      at android.support.design.widget.TextInputLayout.setError(TextInputLayout.java:425) 
                      at com.wallakoala.wallakoala.Activities.SignUpUI.validateEmail(SignUpUI.java:50) 
                      at com.wallakoala.wallakoala.Activities.SignUpUI.access$100(SignUpUI.java:21) 
                      at com.wallakoala.wallakoala.Activities.SignUpUI$MyTextWatcher.afterTextChanged(SignUpUI.java:103) 
                      at android.widget.TextView.sendAfterTextChanged(TextView.java:8017) 
                      at android.widget.TextView$ChangeWatcher.afterTextChanged(TextView.java:10182) 
                      at android.text.SpannableStringBuilder.sendAfterTextChanged(SpannableStringBuilder.java:1043) 
                      at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:560) 
                      at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:492) 
                      at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:34) 
                      at android.view.inputmethod.BaseInputConnection.replaceText(BaseInputConnection.java:685) 
                      at android.view.inputmethod.BaseInputConnection.setComposingText(BaseInputConnection.java:445) 
                      at com.android.internal.view.IInputConnectionWrapper.executeMessage(IInputConnectionWrapper.java:340) 
                      at com.android.internal.view.IInputConnectionWrapper$MyHandler.handleMessage(IInputConnectionWrapper.java:78) 
                      at android.os.Handler.dispatchMessage(Handler.java:102) 
                      at android.os.Looper.loop(Looper.java:224) 
                      at android.app.ActivityThread.main(ActivityThread.java:5526) 
                      at java.lang.reflect.Method.invoke(Native Method) 
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 

यह EditText

<android.support.design.widget.TextInputLayout 
     android:id="@+id/email_input_layout" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginRight="34dp" 
     android:layout_marginLeft="34dp" 
     android:layout_marginTop="12dp" 
     android:theme="@style/TextLabel"> 

     <EditText 
      android:id="@+id/email_edittext" 
      android:inputType="textEmailAddress" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:singleLine="true" 
      android:textColor="@color/colorText" 
      android:textColorHint="@color/colorMediumText" 
      android:hint="@string/email_hint" 
      android:nextFocusUp="@id/email_edittext" 
      android:nextFocusLeft="@id/email_edittext"/> 

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

यह वह जगह है की एक्सएमएल है style.xml में परिभाषित शैली।

<style name="TextLabel" parent="TextAppearance.AppCompat"> 
    <item name="android:textColorHint">@color/colorLightText</item> 
    <item name="android:textSize">14dp</item> 
    <item name="colorAccent">@color/colorAccent</item> 
    <item name="colorControlNormal">@color/colorMediumText</item> 
    <item name="colorControlActivated">@color/colorAccent</item> 
</style> 

और इस लाइन है कि त्रुटि पैदा करता है:

emailInputLayout.setError("Incorrect email"); 

क्या हो रहा है की कोई भी विचार?

अग्रिम धन्यवाद,

+0

आप प्रोग्राम के रूप में संकेत रंग निर्धारित नहीं कर सकते? – Eenvincible

+0

नहीं, यह कुछ भी नहीं करता है। – cuoka

उत्तर

9

मैं त्रुटि पाया, इन विशेषताओं शैली में होना जरूरी:

<item name="android:textColorHighlight">@color/COLOR</item> 
<item name="android:textColorLink">@color/COLOR</item> 
+0

धन्यवाद मैं एक ही एक्सएमएल पर हूं –

संबंधित मुद्दे