2016-03-09 6 views
7

パスワード入力用にEditTextでandroid.support.design.widget.TextInputLayoutを使用しようとしています。パスワードの入力に問題が発生すると、TextInputLayoutにエラーメッセージが表示されます。クラスを拡張しているエラー。android.support.v7.widget.AppCompatEditText

私がEditTextを使用しているとき、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())); 
} 

XMLコード

<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> 

マイアプリの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 23.1.1'' 'コンパイルcom.android.support' が追加されました.1'' この2行は 'build.gradle'ファイルにありますか? –

+0

はい私は既にそれを追加しました – OShiffer

+0

[これをチェックしてください](http://stackoverflow.com/questions/26494346/error-inflating-class-and-android-support-v7-widget-cardview) –

答えて

5

は、最後にそれを解決!

私はそれをEditTextに戻し、スタイル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> 

:com.android.support:design:23.1

<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

溶液のための仲間。その作品! –

関連する問題