Sto tentando di utilizzare android.support.design.widget.TextInputLayout con EditText per l'immissione della password. Una volta che si è verificato un problema con l'immissione della password, TextInputLayout dovrebbe visualizzare un messaggio di errore.Errore durante il gonfiaggio della classe android.support.v7.widget.AppCompatEditText
Quando utilizzo EditText, si verifica un arresto anomalo in setError (stringa).
Log:
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)
ho cercato di passare a AppCompatEditText, ma per qualche ragione, in alcuni dispositivi (ad esempio: Asus tooj, Asus zoo2) la mia applicazione si blocca.
Log:
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)
Codice:
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()));
}
codice 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>
mia app 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'
}
Hanno aggiunto 'compilare 'com.android.support: appcompat-v7: 23.1.1'' ' compilare' com.android.support:design:23.1 .1'' questa 2 righe nel file 'build.gradle'? –
sì, li ho già aggiunti – OShiffer
Si prega di [controllare questo] (http://stackoverflow.com/questions/26494346/error-inflating-class-and-android-support-v7-widget-cardview) rispondi sperare che aiuti. –