2016-03-09 10 views
7

मैं पासवर्ड इनपुट के लिए EditText के साथ android.support.design.widget.TextInputLayout का उपयोग करने का प्रयास कर रहा हूं। पासवर्ड इनपुट में कोई समस्या होने के बाद, TextInputLayout को एक त्रुटि संदेश प्रदर्शित करना चाहिए।कक्षा को बढ़ाने में त्रुटि android.support.v7.widget.AppCompatEditText

जब मैं एडिटटेक्स्ट का उपयोग कर रहा हूं, तो setError (स्ट्रिंग) में एक क्रैश है।

प्रवेश करें:

Fatal Exception: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.infibond.infi/com.infibond.account.login.LoginActivity}: java.lang.UnsupportedOperationException: Can't convert to color: type=0x2 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2318) 
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2396) 
     at android.app.ActivityThread.access$800(ActivityThread.java:139) 
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1293) 
     at android.os.Handler.dispatchMessage(Handler.java:102) 
     at android.os.Looper.loop(Looper.java:149) 
     at android.app.ActivityThread.main(ActivityThread.java:5257) 
     at java.lang.reflect.Method.invokeNative(Method.java) 
     at java.lang.reflect.Method.invoke(Method.java:515) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:609) 
     at dalvik.system.NativeStart.main(NativeStart.java) 
Caused by java.lang.UnsupportedOperationException: Can't convert to color: type=0x2 
     at android.content.res.TypedArray.getColor(TypedArray.java:327) 
     at android.widget.TextView.<init>(TextView.java:700) 
     at android.widget.TextView.<init>(TextView.java:635) 
     at android.widget.TextView.<init>(TextView.java:631) 
     at android.support.design.widget.TextInputLayout.setErrorEnabled(TextInputLayout.java:380) 
     at com.infibond.account.login.LoginFragment.onCreateView(LoginFragment.java:94) 
     at android.support.v4.app.Fragment.performCreateView(Fragment.java:1962) 
     at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1067) 
     at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1248) 
     at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:738) 
     at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1613) 
     at android.support.v4.app.FragmentController.execPendingActions(FragmentController.java:330) 
     at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:547) 
     at com.infibond.base.Inheritance.Activities.ActivityBase.onStart(ActivityBase.java:112) 
     at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1171) 
     at android.app.Activity.performStart(Activity.java:5421) 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2279) 
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2396) 
     at android.app.ActivityThread.access$800(ActivityThread.java:139) 
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1293) 
     at android.os.Handler.dispatchMessage(Handler.java:102) 
     at android.os.Looper.loop(Looper.java:149) 
     at android.app.ActivityThread.main(ActivityThread.java:5257) 
     at java.lang.reflect.Method.invokeNative(Method.java) 
     at java.lang.reflect.Method.invoke(Method.java:515) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:609) 
     at dalvik.system.NativeStart.main(NativeStart.java) 

मैं AppCompatEditText करने के लिए स्विच करने की कोशिश की है, लेकिन किसी कारण, कुछ उपकरणों में (उदाहरण के लिए: Asus tooj, Asus ZOO2) के लिए मेरे ऐप्स क्रैश हो।

प्रवेश करें:

Fatal Exception: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.infibond.infi/com.infibond.account.login.LoginActivity}: android.view.InflateException: Binary XML file line #22: Error inflating class android.support.v7.widget.AppCompatEditText 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2316) 
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2376) 
     at android.app.ActivityThread.access$800(ActivityThread.java:147) 
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1281) 
     at android.os.Handler.dispatchMessage(Handler.java:102) 
     at android.os.Looper.loop(Looper.java:135) 
     at android.app.ActivityThread.main(ActivityThread.java:5253) 
     at java.lang.reflect.Method.invoke(Method.java) 
     at java.lang.reflect.Method.invoke(Method.java:372) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) 
Caused by android.view.InflateException: Binary XML file line #22: Error inflating class android.support.v7.widget.AppCompatEditText 
     at android.view.LayoutInflater.createView(LayoutInflater.java:633) 
     at uk.co.chrisjenx.calligraphy.CalligraphyLayoutInflater.createCustomViewInternal(CalligraphyLayoutInflater.java:211) 
     at uk.co.chrisjenx.calligraphy.CalligraphyLayoutInflater.access$000(CalligraphyLayoutInflater.java:20) 
     at uk.co.chrisjenx.calligraphy.CalligraphyLayoutInflater$PrivateWrapperFactory2.onCreateView(CalligraphyLayoutInflater.java:302) 
     at android.view.LayoutInflater$FactoryMerger.onCreateView(LayoutInflater.java:177) 
     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:733) 
     at android.view.LayoutInflater.rInflate(LayoutInflater.java:806) 
     at android.view.LayoutInflater.rInflate(LayoutInflater.java:809) 
     at android.view.LayoutInflater.inflate(LayoutInflater.java:504) 
     at uk.co.chrisjenx.calligraphy.CalligraphyLayoutInflater.inflate(CalligraphyLayoutInflater.java:60) 
     at android.view.LayoutInflater.inflate(LayoutInflater.java:414) 
     at com.infibond.account.login.LoginFragment.onCreateView(LoginFragment.java:91) 
     at android.support.v4.app.Fragment.performCreateView(Fragment.java:1962) 
     at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1067) 
     at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1248) 
     at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:738) 
     at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1613) 
     at android.support.v4.app.FragmentController.execPendingActions(FragmentController.java:330) 
     at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:547) 
     at com.infibond.base.Inheritance.Activities.ActivityBase.onStart(ActivityBase.java:112) 
     at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1220) 
     at android.app.Activity.performStart(Activity.java:5991) 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2279) 
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2376) 
     at android.app.ActivityThread.access$800(ActivityThread.java:147) 
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1281) 
     at android.os.Handler.dispatchMessage(Handler.java:102) 
     at android.os.Looper.loop(Looper.java:135) 
     at android.app.ActivityThread.main(ActivityThread.java:5253) 
     at java.lang.reflect.Method.invoke(Method.java) 
     at java.lang.reflect.Method.invoke(Method.java:372) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) 

कोड:

private void formValidatorHandler() { 
    if (NetworkManager.getConnectivityStatus(getActivity()) == NetworkManager.NETWORK_STATUS_NOT_CONNECTED) { 
     new MyToast(getActivity(), getString(R.string.error_internet_connection_title), MyToast.KEY_TYPE_RED).show(); 
      return; 
    } 

    if (!((AccountBaseActivity) getActivity()).isValidPassword(mEtPassword.getText().toString())) { 
      String passwordError = getString(R.string.error_account_invalid_Password); 
      mPasswordwrapper.setError(passwordError); 
      //AndroidUtils.showToast(passwordError, Toast.LENGTH_SHORT); 
      return; 
    } else { 
      mPasswordwrapper.setError(""); 
    } 

    SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(getActivity()); 
    String freshInstall = preferences.getString(Constant.Prefs.SP_KEY_FRESH_INSTALL, LoginRequest.FRESH_INSTALL_TRUE); 

    ProgressBarClass.startLoading(getActivity()); 

    new LoginRequest(getActivity(), mEtUserName.getText().toString().trim(), 
       mEtPassword.getText().toString().trim(), 
       freshInstall, 
       true, ((LoginActivity) getActivity())); 
} 

एक्सएमएल कोड

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"> 

    <include android:id="@+id/loginInfiLogoRL" 
     layout="@layout/login_infi_logo_layout" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:paddingLeft="-3dp" 
     android:layout_marginTop="5dp" 
     android:layout_marginBottom="10dp"/> 

    <android.support.design.widget.TextInputLayout 
     android:id="@+id/email_wrapper" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/loginInfiLogoRL" 
     android:theme="@style/TextLabel"> 

     <android.support.v7.widget.AppCompatEditText 
      android:id="@+id/etUserName" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:hint="@string/login_screen_email_hint" 
      android:imeOptions="actionNext" 
      android:inputType="textEmailAddress" 
      android:maxLines="1" 
      android:nextFocusDown="@+id/etPassword" 
      android:singleLine="true" 
      android:textColor="@color/white" 
      android:textColorHighlight="@color/Orange" 
      android:textColorHint="@color/white" /> 
    </android.support.design.widget.TextInputLayout> 
</RelativeLayout> 
,210

मेरा ऐप Gradle

apply plugin: 'com.android.application' 
apply plugin: 'io.fabric' 
//apply plugin: 'newrelic' 
apply plugin: 'com.google.gms.google-services' 
apply plugin: 'com.jakewharton.hugo' 

android { 

compileSdkVersion 23 
buildToolsVersion "23.0.1" 

signingConfigs { 
    Signing_Prod { 
     keyAlias 'infi' 
     keyPassword 'infi1234' 
     storeFile file('../release.keystore/infi.jks') 
     storePassword 'infi1234' 
    } 
} 

lintOptions { 
    abortOnError false 
} 

defaultConfig { 
    applicationId "com.infibond.infi" 
    minSdkVersion 18 
    targetSdkVersion 22 
    versionCode 113 
    versionName "1.0.1" 
    multiDexEnabled true //fixes gradle issue 
} 

buildTypes { 
    debug { 
} 

    release { 
     shrinkResources true 
     minifyEnabled false 
     //proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     signingConfig signingConfigs.Signing_Prod 
    } 
} 

compileOptions { 
    sourceCompatibility JavaVersion.VERSION_1_7 
    targetCompatibility JavaVersion.VERSION_1_7 
} 

packagingOptions { 
    exclude 'META-INF/ASL2.0' 
    exclude 'META-INF/LICENSE' 
    exclude 'META-INF/DEPENDENCIES' 
    exclude 'META-INF/NOTICE' 
    exclude 'META-INF/NOTICE.txt' 
    exclude 'META-INF/LICENSE.txt' 
} 

dexOptions { 
    jumboMode true 
    incremental true 
    preDexLibraries false 
    javaMaxHeapSize "4g" 
} 
/* 
     configurations { 
      all*.exclude group: 'com.android.support', module: 'support-v4' 
     }*/ 

sourceSets { main { assets.srcDirs = ['src/main/assets', 'src/main/assets/']   }  } 
} 

repositories { 
    mavenCentral() 
    maven { url "https://oss.sonatype.org/content/repositories/snapshots/" } 
    maven { url 'https://maven.fabric.io/public' } 
} 


dependencies { 
compile fileTree(include: ['*.jar'], dir: 'libs') 
//TODO: ----------------- Media Chooser Lib ---------------------- // 
compile project(':mediaChooserlib') 
//TODO: ----------------- Upload Service Lib --------------------- // 
compile project(':uploadservice') 
//TODO: ----------------- Meta Data Extractor -------------------- // 
compile files('libs/metadata-extractor-2.6.4.jar') 
//TODO: ----------------- JakeWharton Disk LRU Cache ------------- // 
compile 'com.jakewharton:disklrucache:2.0.2' 
//TODO: ----------------- FFmpeg Meta Data Retriver -------------- // 
compile 'com.github.wseemann:FFmpegMediaMetadataRetriever:1.0.2' 
//TODO: ----------------- Support -------------------------------- // 
compile 'com.android.support:multidex:1.0.1' 
compile 'com.android.support:support-v4:23.1.1' 
compile 'com.android.support:appcompat-v7:23.1.1' 
compile 'com.android.support:recyclerview-v7:23.1.1' 
compile 'com.android.support:design:23.1.1' 
//TODO: ----------------- Google Play ---------------------------- // 
compile 'com.google.android.gms:play-services:8.1.0' 
compile 'com.google.apis:google-api-services-tasks:v1-rev41-1.20.0' 
//TODO: ----------------- Google Drive --------------------------- // 
compile ('com.google.api-client:google-api-client-android:1.20.0') /*{ 
    exclude module: 'httpclient' //by artifact name 
    exclude group: 'org.apache.httpcomponents' //by group 
    exclude group: 'org.apache.httpcomponents', module: 'httpclient' //by both name and group 
}*/ 
compile 'com.google.apis:google-api-services-drive:v2-rev170-1.20.0' 
//TODO: ----------------- GSON ----------------------------------- // 
compile 'com.google.code.gson:gson:2.3' 
//TODO: ----------------- Creative SDK --------------------------- // 
compile 'com.adobe.creativesdk:image:4.0.0' 
//TODO: ------- Android Transcoder (Media Compression) SDK ------- // 
compile 'net.ypresto.androidtranscoder:android-transcoder:0.1.9' 
//TODO: ----------------- Active Android ------------------------- // 
compile 'com.michaelpardo:activeandroid:3.1.0-SNAPSHOT' 
//TODO: ----------------- Volley --------------------------------- // 
compile 'com.mcxiaoke.volley:library:1.0.17' 
//TODO: ----------------- Glide ---------------------------------- // 
compile 'com.github.bumptech.glide:glide:3.7.0' 
//TODO: ----------------- Bus Libs ------------------------------- // 
compile 'com.squareup:otto:1.3.8' 
compile 'de.greenrobot:eventbus:2.4.0' 
//TODO: ----------------- PhotoView - photo zoom lib ------------- // 
compile 'com.commit451:PhotoView:1.2.4' 
//TODO: ----------------- AutoFit TextView ----------------------- // 
compile 'me.grantland:autofittextview:0.2.1' 
//TODO: ----------------- Custom Font Lib -------------------------// 
compile 'uk.co.chrisjenx:calligraphy:2.1.0' 
//TODO: ----------------- New Relic analytics & tracking --------- // 
//compile 'com.newrelic.agent.android:android-agent:4.+' 
//TODO: ----------------- Crashlytics ---------------------------- // 
compile('com.crashlytics.sdk.android:crashlytics:[email protected]') { 
    transitive = true; 
} 

//TODO: ================= Social Networks ======================== // 
//TODO: ----------------- Sound Cloud ---------------------------- // 
//compile 'com.soundcloud.android:android-crop:[email protected]' 
//TODO: ----------------- Facebook ------------------------------- // 
compile 'com.facebook.android:facebook-android-sdk:4.4.0' 
//TODO: ----------------- Twitter -------------------------------- // 
//compile 'org.twitter4j:twitter4j-core:4.0.4' 
//TODO: ----------------- YouTube - re-write to newer version ---- // 
compile files('libs/YouTubeAndroidPlayerApi.jar') 
//TODO: ----------------- DropBox -------------------------------- // 
//compile files('libs/dropbox-android-sdk-1.6.3.jar') 

//================== UNKNOWN =============================== // 
//compile files('libs/json_simple-1.1.jar') 
//================== KNOWN - NOT USED ====================== // 
//----------------- Scroll View Tricks---------------------- // 
//compile files('libs/scrollviewtricks.jar') 
//----------------- StaggeredGrid 
//compile 'com.etsy.android.grid:library:1.0.5' 
//----------------- Tumblr 
//compile 'com.tumblr:jumblr:0.0.11' 
//compile 'com.crittercism:crittercism-android-agent:5.0.6' 
//compile 'com.edmodo:cropper:1.0.1' 
//apply plugin: 'com.google.gms.google-services' 

// --------------------- Progress Bars ---------------------- 
compile 'com.mikhaellopez:circularprogressbar:1.1.0' 
} 
+2

आप 'संकलन ': appcompat-v7: com.android.support 23.1.1'' ' संकलन' को शामिल किया है com.android.support:design:23.1 .1'' आपकी 'build.gradle' फ़ाइल में यह 2 पंक्तियां? –

+0

हाँ मैंने पहले ही उन्हें – OShiffer

+0

जोड़ा है [इसे जांचें] (http://stackoverflow.com/questions/26494346/error-inflating-class-and-android-support-v7-widget-cardview) उत्तर उम्मीद है कि इससे मदद मिलती है। –

उत्तर

5

अंत में इसे हल!

मैंने इसे वापस संपादन टेक्स्ट में बदल दिया और शैलियों xml को ठीक किया। मुझे पता चला कि शैली के माता-पिता ने लालसा पैदा की है, इसलिए मैंने इसे हटा दिया।

<android.support.design.widget.TextInputLayout 
    android:id="@+id/email_wrapper" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/loginInfiLogoRL" 
    android:theme="@style/TextLabel"> 

    <EditText 
     android:id="@+id/etUserName" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:hint="@string/login_screen_email_hint" 
     android:imeOptions="actionNext" 
     android:inputType="textEmailAddress" 
     android:maxLines="1" 
     android:nextFocusDown="@+id/etPassword" 
     android:singleLine="true" 
     android:textColor="@android:color/white" 
     android:textColorHighlight="@color/White" 
     android:textColorHint="@android:color/white" /> 

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

शैलियों में:

<style name="TextLabel"> 
    <!-- Hint color and label color in FALSE state --> 
    <item name="android:textColorHint">@color/White</item> 
    <item name="android:textColorHighlight">@android:color/white</item> 
    <item name="android:textColorLink">@color/White</item> 
    <item name="android:textSize">20sp</item> 
    <!-- Label color in TRUE state and bar color FALSE and TRUE State --> 
    <item name="colorAccent">@color/accent</item> 
    <item name="colorControlNormal">@android:color/white</item> 
    <item name="colorControlActivated">@color/accent</item> 
</style> 
+0

thanx दोस्त। यह कार्य करता है! –

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