Dans Android, j'ai obtenu l' erreur suivante dans l'émulateur et sur certains appareils mobiles, mais pas dans la tablette :
Je ne comprends pas quelle est l'erreur en fait?
J'ai recherché de nombreux tutoriels mais je ne trouve aucune solution.
Veuillez m'aider à résoudre ce problème.
Remarque: dans cette application, j'ai utilisé ActionbarSherlock et le thème, puis-je avoir à cause de cette bibliothèque ou de tout autre problème?
Mon journal des erreurs est:
09-11 17:52:57.342: E/AndroidRuntime(9935): FATAL EXCEPTION: main
09-11 17:52:57.342: E/AndroidRuntime(9935): android.view.InflateException: Binary XML file line #2: Error inflating class <unknown>
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.view.LayoutInflater.createView(LayoutInflater.java:613)
09-11 17:52:57.342: E/AndroidRuntime(9935): at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.view.LayoutInflater.onCreateView(LayoutInflater.java:660)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:685)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.view.LayoutInflater.inflate(LayoutInflater.java:466)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:371)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.widget.ArrayAdapter.getView(ArrayAdapter.java:362)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.widget.AbsSpinner.onMeasure(AbsSpinner.java:193)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.widget.Spinner.onMeasure(Spinner.java:439)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.view.View.measure(View.java:15518)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:681)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.view.View.measure(View.java:15518)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.widget.ScrollView.measureChildWithMargins(ScrollView.java:1217)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.widget.ScrollView.onMeasure(ScrollView.java:321)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.view.View.measure(View.java:15518)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4825)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.view.View.measure(View.java:15518)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.widget.LinearLayout.measureVertical(LinearLayout.java:847)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.widget.LinearLayout.onMeasure(LinearLayout.java:588)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.view.View.measure(View.java:15518)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4825)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
09-11 17:52:57.342: E/AndroidRuntime(9935): at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2176)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.view.View.measure(View.java:15518)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:1874)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1089)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1265)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:989)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4351)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.view.Choreographer$CallbackRecord.run(Choreographer.java:749)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.view.Choreographer.doCallbacks(Choreographer.java:562)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.view.Choreographer.doFrame(Choreographer.java:532)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:735)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.os.Handler.handleCallback(Handler.java:725)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.os.Handler.dispatchMessage(Handler.java:92)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.os.Looper.loop(Looper.java:137)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.app.ActivityThread.main(ActivityThread.java:5041)
09-11 17:52:57.342: E/AndroidRuntime(9935): at java.lang.reflect.Method.invokeNative(Native Method)
09-11 17:52:57.342: E/AndroidRuntime(9935): at java.lang.reflect.Method.invoke(Method.java:511)
09-11 17:52:57.342: E/AndroidRuntime(9935): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
09-11 17:52:57.342: E/AndroidRuntime(9935): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
09-11 17:52:57.342: E/AndroidRuntime(9935): at dalvik.system.NativeStart.main(Native Method)
09-11 17:52:57.342: E/AndroidRuntime(9935): Caused by: java.lang.reflect.InvocationTargetException
09-11 17:52:57.342: E/AndroidRuntime(9935): at java.lang.reflect.Constructor.constructNative(Native Method)
09-11 17:52:57.342: E/AndroidRuntime(9935): at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.view.LayoutInflater.createView(LayoutInflater.java:587)
09-11 17:52:57.342: E/AndroidRuntime(9935): ... 45 more
09-11 17:52:57.342: E/AndroidRuntime(9935): Caused by: java.lang.UnsupportedOperationException: Can't convert to dimension: type=0x1
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.content.res.TypedArray.getDimensionPixelSize(TypedArray.java:463)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.widget.TextView.<init>(TextView.java:916)
09-11 17:52:57.342: E/AndroidRuntime(9935): at android.widget.TextView.<init>(TextView.java:578)
09-11 17:52:57.342: E/AndroidRuntime(9935): ... 48 more
Mon fichier de mise en page XML est:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:panel="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/activity_vertical_margin"
android:layout_marginLeft="@dimen/other_activity_horizontal_margin"
android:layout_marginRight="@dimen/other_activity_horizontal_margin"
android:layout_marginTop="@dimen/activity_vertical_margin"
android:orientation="vertical" >
<EditText
android:id="@+id/custDetailsNameEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:hint="@string/name_cust_all_add"
android:inputType="textPersonName"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/custDetailsEmailEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/custDetailsNameEditText"
android:layout_centerHorizontal="true"
android:layout_marginTop="15dp"
android:hint="@string/email_cust_all_add"
android:inputType="textEmailAddress"
android:textAppearance="?android:attr/textAppearanceMedium" />
<Spinner
android:id="@+id/custDetailsDistributorSpinner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/custDetailsEmailEditText"
android:layout_centerHorizontal="true"
android:layout_marginTop="15dp"
android:entries="@array/slide_menu_items"
android:prompt="@string/select_distributor_prompt_add"
android:spinnerMode="dialog" >
</Spinner>
<EditText
android:id="@+id/custDetailsAddress1TitleEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/custDetailsDistributorSpinner"
android:layout_marginTop="15dp"
android:hint="@string/address_1_cust_all_add"
android:inputType="textPostalAddress"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/custDetailsAddress2TitleEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/custDetailsAddress1TitleEditText"
android:layout_marginTop="15dp"
android:hint="@string/address_2_cust_all_add"
android:inputType="textPostalAddress"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/custDetailsAddress3TitleEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/custDetailsAddress2TitleEditText"
android:layout_marginTop="15dp"
android:hint="@string/address_3_cust_all_add"
android:inputType="textPostalAddress"
android:textAppearance="?android:attr/textAppearanceMedium" />
<Spinner
android:id="@+id/custDetailsCompanyAreaSpinner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/custDetailsAddress3TitleEditText"
android:layout_centerHorizontal="true"
android:layout_marginTop="15dp"
android:entries="@array/slide_menu_items"
android:prompt="@string/select_company_area_prompt_add"
android:spinnerMode="dialog"
android:fastScrollEnabled="true"
>
</Spinner>
<EditText
android:id="@+id/custDetailsPincodeEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/custDetailsCompanyAreaSpinner"
android:layout_centerHorizontal="true"
android:layout_marginTop="15dp"
android:hint="@string/pincode_cust_all_add"
android:inputType="number"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/custDetailsPhone1EditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/custDetailsPincodeEditText"
android:layout_centerHorizontal="true"
android:layout_marginTop="15dp"
android:hint="@string/phone_1_cust_all_add"
android:inputType="phone"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/custDetailsPhone2EditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/custDetailsPhone1EditText"
android:layout_centerHorizontal="true"
android:layout_marginTop="15dp"
android:hint="@string/phone_2_cust_all_add"
android:inputType="phone"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/custDetailsMobileNo1EditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/custDetailsPhone2EditText"
android:layout_centerHorizontal="true"
android:layout_marginTop="15dp"
android:hint="@string/mobile_no_1_cust_all_add"
android:inputType="phone"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/custDetailsMobileNo2EditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/custDetailsMobileNo1EditText"
android:layout_centerHorizontal="true"
android:layout_marginTop="15dp"
android:hint="@string/mobile_no_2_cust_all_add"
android:inputType="phone"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/custDetailsContactPerson1EditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/custDetailsMobileNo2EditText"
android:layout_centerHorizontal="true"
android:layout_marginTop="15dp"
android:hint="@string/contact_person_1_cust_all_add"
android:inputType="text"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/custDetailsContactPerson2EditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/custDetailsContactPerson1EditText"
android:layout_centerHorizontal="true"
android:layout_marginTop="15dp"
android:hint="@string/contact_person_2_cust_all_add"
android:inputType="text"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/custDetailsTinNoEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/custDetailsContactPerson2EditText"
android:layout_centerHorizontal="true"
android:layout_marginTop="15dp"
android:hint="@string/tin_no_cust_all_add"
android:inputType="text"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/custDetailsCstNoEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/custDetailsTinNoEditText"
android:layout_centerHorizontal="true"
android:layout_marginTop="15dp"
android:hint="@string/cst_no_cust_all_add"
android:inputType="text"
android:textAppearance="?android:attr/textAppearanceMedium" />
<RadioGroup
android:id="@+id/custDetailsVTVRRadioGroup"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/custDetailsCstNoEditText"
android:layout_marginTop="15dp"
android:orientation="horizontal" >
<TextView
android:id="@+id/custDetailsVTVRLableTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/vt_vr_cust_all_add"
android:textAppearance="?android:attr/textAppearanceMedium" />
<RadioButton
android:id="@+id/custDetailsVTRadioButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:text="@string/vt_cust_all_add" />
<RadioButton
android:id="@+id/custDetailsVRRadioButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/vr_cust_all_add" />
</RadioGroup>
<RadioGroup
android:id="@+id/custDetailsCFormRadioGroup"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/custDetailsVTVRRadioGroup"
android:layout_marginTop="15dp"
android:orientation="horizontal" >
<TextView
android:id="@+id/custDetailsCFormLableTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/c_form_cust_add_all"
android:textAppearance="?android:attr/textAppearanceMedium" />
<RadioButton
android:id="@+id/custDetailsCFormYesRadioButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:text="@string/yes_cust_add_all" />
<RadioButton
android:id="@+id/custDetailsCFormNoRadioButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/no_cust_add_all" />
</RadioGroup>
</RelativeLayout>
</ScrollView>
styles.xml
dans le values
dossier:
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<!--
Base application theme, dependent on API level. This theme is replaced
by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
-->
<style name="AppBaseTheme" parent="android:Theme.Light">
<!--
Theme customizations available in newer API levels can go in
res/values-vXX/styles.xml, while customizations related to
backward-compatibility can go here.
-->
</style>
<style name="SlideBarTheme" parent="@style/Theme.Sherlock.NoActionBar">
<item name="android:background">@drawable/slide_bg</item>
<item name="android:cacheColorHint">@android:color/transparent</item>
<item name="android:choiceMode">singleChoice</item>
</style>
<style name="ActivityTheme" parent="@style/Theme.Sherlock.Light">
<item name="android:textColor">@color/activity_text</item>
<item name="android:background">@color/activity_background</item>
</style>
<!-- For Widget -->
<style name="MyAndroidTheme" parent="@style/Theme.Sherlock.Light.DarkActionBar">
<item name="android:editTextStyle">@style/EditTextAppTheme</item>
<item name="android:autoCompleteTextViewStyle">@style/AutoCompleteTextViewAppTheme</item>
<item name="android:checkboxStyle">@style/CheckBoxAppTheme</item>
<item name="android:spinnerStyle">@style/SpinnerAppTheme</item>
<item name="android:dropDownSpinnerStyle">@style/SpinnerAppTheme.DropDown</item>
<item name="android:spinnerDropDownItemStyle">@style/SpinnerDropDownItemAppTheme</item>
<item name="android:listViewStyle">@style/ListViewAppTheme</item>
<item name="android:listViewWhiteStyle">@style/ListViewAppTheme.White</item>
<item name="android:spinnerItemStyle">@style/SpinnerItemAppTheme</item>
</style>
</resources>
styles.xml
dans le values-11
dossier:
<resources>
<!--
Base application theme for API 11+. This theme completely replaces
AppBaseTheme from res/values/styles.xml on API 11+ devices.
-->
<!-- API 11 theme customizations can go here. -->
<style name="MyAndroidTheme" parent="android:Theme.Holo.Light.DarkActionBar">
<item name="android:editTextBackground">@drawable/edit_text_holo_light</item>
<item name="android:autoCompleteTextViewStyle">@style/AutoCompleteTextViewAppTheme</item>
<item name="android:listChoiceIndicatorMultiple">@drawable/btn_check_holo_light</item>
<item name="android:dropDownSpinnerStyle">@style/SpinnerAppTheme</item>
<item name="android:listChoiceBackgroundIndicator">@drawable/list_selector_holo_light</item>
<item name="android:activatedBackgroundIndicator">@drawable/activated_background_holo_light</item>
</style>
</resources>
styles.xml
dans le values-14
dossier:
<resources>
<!--
Base application theme for API 14+. This theme completely replaces
AppBaseTheme from BOTH res/values/styles.xml and
res/values-v11/styles.xml on API 14+ devices.
-->
<style name="AppBaseTheme" parent="android:Theme.Holo.Light.DarkActionBar">
<!-- API 14 theme customizations can go here. -->
</style>
</resources>
Et aussi j'ai un fichier de thème personnalisé:
Dans le values
dossier nommé styles_apptheme.xml
et styles_myactionbar.xml
, Dans le values-v11
dossier nommé styles_apptheme.xml
, Dans le values-v14
dossier nomméstyles_myactionbar.xml
Que dois-je changer?
android
android-layout
android-emulator
actionbarsherlock
android-theme
Pratik Butani
la source
la source
Réponses:
Après 2 jours, j'ai trouvé la solution; à partir de la mise en page définie dans ma question, j'ai un
Spinner
qui est lié à une coutumeTextView
:Ici, j'ai une ressource de dimension extraite:
@dimen/spinner_list_item_text_size
.Cela a été défini
dimens.xml
dans les répertoires suivants:values-sw600dp
values-sw720dp-land
mais surtout j'ai oublié de le définir en
values
Après avoir défini la ressource (
@dimen/spinner_list_item_text_size
) dansvalues/dimens.xml
, cela fonctionne avec succès.la source
values
dossier pour votre ressource.Dans mon cas, le problème était
au lieu de:
la source
Vous trouvez dans votre logcat avant l'exception une ligne comme celle-ci:
Recherchez ce numéro (ici 0x7f0a005f) dans le Resource.class R.java généré. Le nom de la variable est la ressource dimen manquante.
la source
Pour les autres utilisateurs qui arrivent ici à partir d'une recherche Google, assurez-vous d'attribuer une dimension plutôt qu'une autre. Le logcat vous dirigera vers la vue du problème.
c'est-à-dire que d'une manière ou d'une autre, une de mes mises en page contenait quelques TextViews avec
android:textSize="?android:attr/textAppearanceSmall"
Les renommés
android:textAppearance="?android:attr/textAppearanceSmall"
et tout va bien à nouveau.la source
Résolu: j'ai eu la même erreur, mais il s'avère que j'ai oublié de définir une valeur dans
dimens.xml
mais je l'avais définie dansdimens.xml(w820dp)
. Assurez-vous que toutes les valeurs sont définies. A travaillé pour moila source
Vous pouvez jeter un œil à ce fil, le problème semble être exactement celui que vous rencontrez:
https://github.com/JakeWharton/ActionBarSherlock/issues/446
Il semble que l'astuce consiste à faire ce qui suit:
Bonne chance!
la source
styles_myactionbar.xml
avectheme.xml
dansvalue-v14
.Anything in the theme related to the action bar and any action bar or action mode style should be in values-v14/ with the android prefix. Everything non-Android prefixed should be in values/ (along with the regular old theme stuff).
Pour moi, le problème était la valeur de la dimension.
<dimen name="general_container_width">@dimen/match_parent</dimen>
android n'a pas été en mesure de résoudre le
@dimen/match_parent
moment où j'essayais d'obtenir la valeur dans ma vue personnalisée.la source
ajoutez simplement les outils racine: ignore = "ContentDescription"
la source
Et pour moi, c'était un mauvais styles.xml qui définissait incorrectement un textSize: -
L'indication est venue de la trace de pile suivante et de la réalisation que ce qui précède était l'un des changements liés à la taille que j'ai faits depuis la dernière exécution réussie.
la source
Dans mon cas, en utilisant Android Studio 3.5.3 , j'ai essayé de créer une nouvelle ressource dimen.xml à partir de l'outil de création d'interface utilisateur Android comme ci-dessous:
Il a créé une ressource sans ajouter "dp" à la valeur que j'ai fournie. Prendre soin de cela résoudra le problème.
la source
Eu exactement le même problème.
Je l'ai analysé sous tous les angles: qualificatifs, dimensions non disponibles dans tous les qualificatifs, changements de framework personnalisés qui ont probablement été effectués dans les OEM. J'ai également essayé de comprendre si cette ressource n'était pas incluse dans l'application finale créée à partir de notre application groupée. J'ai créé un bundle local et créé une application pour mon appareil à partir des instructions de la section Générer un ensemble d'APK spécifique à l'appareil, mais n'a pas pu se reproduire. Rien de suspect quand j'ai regardé dans resource.asrc avec l'analyseur apk en studio.
Sans autre indice, finalement, nous nous sommes demandé si cette dimension était vraiment nécessaire. Pas vraiment car cela n'affectera pas l'expérience utilisateur.
La solution était donc de supprimer cette dimension de TextView. :)
la source