101 votes

UnsupportedOperationException : Impossible de convertir en dimension : type=0x1

Dans Android, j'ai obtenu ce qui suit Erreur dans l'émulateur et certains appareils mobiles mais pas dans Tablette :

Je n'arrive pas à comprendre quelle est l'erreur en fait ?

J'ai cherché de nombreux tutoriels mais je n'ai pas trouvé de solution.

Veuillez m'aider à résoudre ce problème.

Note : Dans cette application, j'ai utilisé ActionbarSherlock et le thème, puis-je avoir à cause de cette bibliothèque ou tout autre problème ?

Mon journal d'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 XML Layout 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 sur 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 sur 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 sur 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 j'ai aussi un fichier de thème personnalisé :

En values dossier nommé styles_apptheme.xml y styles_myactionbar.xml , Sur values-v11 dossier nommé styles_apptheme.xml , Sur values-v14 dossier nommé styles_myactionbar.xml

Que dois-je changer ?

194voto

Pratik Butani Points 4290

Après 2 jours, j'ai trouvé la solution ; à partir de la mise en page telle que définie dans ma question, j'ai une Spinner qui est lié à une coutume TextView :

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/listTextViewSpinner"
    ...
    android:textSize="@dimen/spinner_list_item_text_size"
    ... />

Ici, j'ai une ressource de dimension extraite : @dimen/spinner_list_item_text_size .

Cela a été défini dans dimens.xml dans les répertoires suivants :

  • values-sw600dp
  • values-sw720dp-land

mais de manière cruciale J'ai oublié de le définir dans

  • values

Après avoir défini la ressource ( @dimen/spinner_list_item_text_size ) en values/dimens.xml ,il fonctionne avec succès.

67voto

Paweł Dedio Points 480

Dans mon cas, le problème était

<dimen name="name">12</dimen>

au lieu de :

<dimen name="name">12dp</dimen>

20voto

Olllli Points 191

Vous trouvez dans votre logcat avant l'exception une ligne comme celle-ci :

08-19 10:05:58.008 : W/ResourceType(3999) : Echec de l'obtention de l'entrée pour 0x7f0a005f (t=9 e=95) dans le paquet 0 (erreur -75)

Recherchez ce numéro (ici 0x7f0a005f) dans la classe de ressources générée R.java. Le nom de la variable est le dimen-resource manquant.

11voto

user3236689 Points 101

Pour les autres qui arrivent ici à partir d'une recherche Google, assurez-vous que vous attribuez une dimension au lieu d'autre chose. Le logcat vous indiquera la vue du problème.

Par exemple, l'une de mes mises en page comportait deux TextViews avec des numéros d'appel d'urgence. android:textSize="?android:attr/textAppearanceSmall"

Ils ont été renommés en android:textAppearance="?android:attr/textAppearanceSmall" et tout va bien à nouveau.

5voto

Ismael ozil Points 331

Résolu : J'ai eu la même erreur, mais il s'avère que j'ai oublié de définir une valeur dans le fichier dimens.xml Pourtant, je l'avais défini dans dimens.xml(w820dp) . Assurez-vous que toutes les valeurs sont définies. Cela a fonctionné pour moi

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X