UnsupportedOperationException: nie można przekonwertować na wymiar: typ = 0x1

89

W systemie Android otrzymałem następujący komunikat Błąd w emulatorze i niektórych urządzeniach mobilnych, ale nie w tablecie :

Nie mogę zrozumieć, na czym właściwie polega błąd?

Przeszukałem wiele tutoriali, ale nie mogę znaleźć żadnego rozwiązania.

Proszę, pomóż mi rozwiązać ten problem.

Uwaga: w tej aplikacji użyłem ActionbarSherlock i motywu, czy mogę dostać z powodu tej biblioteki lub innego problemu?

Mój dziennik błędów to:

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

Mój plik układu XML to:

<?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.xmlw valuesfolderze:

<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.xmlw values-11folderze:

    <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.xmlw values-14folderze:

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

Mam też niestandardowy plik motywu:

W valuesfolderze o nazwie styles_apptheme.xmli styles_myactionbar.xml, W values-v11folderze o nazwie styles_apptheme.xml, W values-v14folderze o nazwiestyles_myactionbar.xml

Co mam zmienić?

Pratik Butani
źródło
jaki jest docelowy sdk, build sdk, max sdk dla twojego projektu, a także numer wersji urządzeń, które wypróbowałeś do tej pory?
Onur A.,
min = 8 i target = 17, max nie określono.
Pratik Butani
co z urządzeniami, które wypróbowałeś?
Onur A.,
Samsung S Duos i Emulator w którym to nie działa, ale wypróbowałem tablet Samsunga to zadziała.
Pratik Butani

Odpowiedzi:

181

Po 2 dniach znalazłem rozwiązanie; z układu zdefiniowanego w moim pytaniu mam, Spinnerktóry jest powiązany z niestandardowym 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"
    ... />

Tutaj mam wyodrębniony zasób wymiar: @dimen/spinner_list_item_text_size.

Zostało to zdefiniowane w dimens.xmlnastępujących katalogach:

  • values-sw600dp
  • values-sw720dp-land

ale co najważniejsze , zapomniałem to zdefiniować

  • values

Po zdefiniowaniu elementu resource ( @dimen/spinner_list_item_text_size) w programie values/dimens.xmldziała pomyślnie.

Pratik Butani
źródło
4
Twoja poprawka pomogła mi - właśnie zmieniliśmy urządzenie na znacznie mniejsze i stało się dokładnie to samo.
Evan Knowles
5
Sprawdź każdy valuesfolder dla swojego zasobu.
Pratik Butani
Dziękuję za tę wdzięczną odpowiedź, ale chciałbym poznać powód definiowania wartości w każdym dimens.xml. Ponieważ ten problem nie występuje w każdym urządzeniu.
Dhruv
49

W moim przypadku problem był

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

zamiast:

<dimen name="name">12dp</dimen>
Paweł Dedio
źródło
18

W swoim logcat przed wyjątkiem znajduje się taka linia:

08-19 10: 05: 58.008: W / ResourceType (3999): Błąd podczas pobierania wpisu dla 0x7f0a005f (t = 9 e = 95) w pakiecie 0 (błąd -75)

Wyszukaj numer tis (tutaj 0x7f0a005f) w wygenerowanej klasie Resource.class R.java. Nazwa zmiennej to brakujący zasób-dimen.

Olllli
źródło
Miałem problem ze znalezieniem właściwego pliku do wyszukania i stwierdziłem, że użycie opcji „znajdź w ścieżce” do wyszukania numeru projektu jest łatwą alternatywą.
Michiyo
Jaki pożytek ze znajomości problemu, ale nie mogę znaleźć sposobu, aby go naprawić
Kai Wang
10

W przypadku innych osób, które trafiają tutaj z wyszukiwarki Google, upewnij się, że przypisujesz wymiar zamiast czegoś innego. Logcat wskaże Ci widok problemu.

tj. w jakiś sposób jeden z moich układów miał kilka TextViews z android:textSize="?android:attr/textAppearanceSmall"

Zmieniono ich nazwy na android:textAppearance="?android:attr/textAppearanceSmall" i znowu wszystko jest w porządku.

user3236689
źródło
4

Rozwiązany: miałem ten sam błąd, ale okazuje się, że zapomniałem zdefiniować wartość w, dimens.xmla zdefiniowałem ją w dimens.xml(w820dp). Upewnij się, że wszystkie wartości są zdefiniowane. Pracował dla mnie

Ismael ozil
źródło
Ten sam problem, spowodował błąd dopiero po uaktualnieniu zależności appcompat do 25.3.1
behelit
3

Możesz rzucić okiem na ten wątek, problem wydaje się być dokładnie tym, który masz:

https://github.com/JakeWharton/ActionBarSherlock/issues/446

Wygląda na to, że sztuczka polega na wykonaniu następujących czynności:

Spotkałem dzisiaj ten sam problem, nie mogłem znaleźć przyczyny, ale w końcu znalazłem rozwiązanie. Wygląda na to, że nie można umieścić żadnych właściwości, których M9 nie może rozpoznać int theme.xml, tak jak android: actionBarStyle. Rozwiązaniem jest więc utworzenie nowego pliku theme.xml o wartości v14 i umieszczenie w nim wszystkich tych właściwości.

Powodzenia!

Yoann Hercouet
źródło
więc mogę skopiować styles_myactionbar.xmlz theme.xmlw value-v14.
Pratik Butani
Nie przeczytałem całego wątku, może po prostu spróbuję najpierw skopiować do niego plik theme.xml, aby zobaczyć, co się stanie.
Yoann Hercouet
Ale stworzyłem niestandardowy motyw dla paska akcji, więc co mogę zrobić.?
Pratik Butani
Później wyjaśniają to: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).
Yoann Hercouet
Mam plik XML z układem 15, ale dostałem błąd tylko w jednym, który zdefiniowałem powyżej., Który dokładnie problem, nie dostałem.
Pratik Butani
3

Dla mnie problemem była wartość w wymiarze.

<dimen name="general_container_width">@dimen/match_parent</dimen>

Android nie był w stanie rozwiązać problemu, @dimen/match_parentkiedy próbowałem uzyskać wartość w moim widoku niestandardowym.

Ali
źródło
ja też, ustawiłem 12 zamiast 12dp
CDrosos
0

po prostu dodaj narzędzia root: ignore = "ContentDescription"

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:ignore="ContentDescription" >
Роман Зыков
źródło
0

A dla mnie był to zły styles.xml, który nieprawidłowo zdefiniował textSize: -

<resources>
    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar" >
        <item name="android:layout_height">match_parent</item>
        <item name="android:layout_width">match_parent</item>
        <item name="android:gravity">center</item>
        <item name="android:textSize">@style/TextAppearance.AppCompat.Small</item>
    </style>

    ...
</resources>

Wskazówka pochodzi z następującego śladu stosu i zdałem sobie sprawę, że powyższa zmiana była jedną ze zmian związanych z rozmiarem, które wprowadziłem od ostatniego pomyślnego uruchomienia.

 Caused by: java.lang.UnsupportedOperationException: Can't convert to dimension: type=0x1
                                                                      at android.content.res.TypedArray.getDimensionPixelSize(TypedArray.java:464)
                                                                      at android.widget.TextView.<init>(TextView.java:972)
                                                                      at android.support.v7.widget.AppCompatTextView.<init>(AppCompatTextView.java:62)
                                                                      at android.support.v7.widget.AppCompatTextView.<init>(AppCompatTextView.java:58)
                                                                      at android.support.v7.widget.AppCompatTextView.<init>(AppCompatTextView.java:54)
                                                                      at android.support.v7.widget.Toolbar.setTitle(Toolbar.java:756)
                                                                      at android.support.v7.widget.ToolbarWidgetWrapper.setTitleInt(ToolbarWidgetWrapper.java:261)
                                                                      at android.support.v7.widget.ToolbarWidgetWrapper.setWindowTitle(ToolbarWidgetWrapper.java:243)
                                                                      at android.support.v7.widget.ActionBarOverlayLayout.setWindowTitle(ActionBarOverlayLayout.java:615)
                                                                      at android.support.v7.app.AppCompatDelegateImplV9.onTitleChanged(AppCompatDelegateImplV9.java:636)
                                                                      at android.support.v7.app.AppCompatDelegateImplV9.ensureSubDecor(AppCompatDelegateImplV9.java:333)
                                                                      at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:289)
                                                                      at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140)
                                                                      at com.edsglobal.ecbc.AMAinActivity.onCreate(AMAinActivity.java:94)
                                                                      at android.app.Activity.performCreate(Activity.java:5231)
                                                                      at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
                                                                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)
                                                                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245) 
                                                                      at android.app.ActivityThread.access$800(ActivityThread.java:135) 
                                                                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196) 
                                                                      at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                                      at android.os.Looper.loop(Looper.java:136) 
                                                                      at android.app.ActivityThread.main(ActivityThread.java:5017) 
                                                                      at java.lang.reflect.Method.invokeNative(Native Method) 
                                                                      at java.lang.reflect.Method.invoke(Method.java:515) 
                                                                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) 
                                                                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) 
                                                                      at dalvik.system.NativeStart.main(Native Method
Himanshu
źródło
0

W moim przypadku, korzystając z Android Studio 3.5.3 , próbowałem utworzyć nowy zasób dimen.xml z narzędzia do tworzenia interfejsu użytkownika Androida, jak poniżej:

wprowadź opis obrazu tutaj

Utworzył zasób bez dodawania „dp” do podanej przeze mnie wartości. Zadbaj o to, aby rozwiązać problem.

Muhammad Maqsood
źródło
0

Miał dokładnie ten sam problem.

Przeanalizowałem to ze wszystkich perspektyw: kwalifikatory, wymiary niedostępne we wszystkich kwalifikatorach, niestandardowe zmiany ram, które prawdopodobnie zostały wprowadzone przez producentów OEM. Próbowałem również zrozumieć, czy ten zasób nie jest w jakiś sposób uwzględniony w ostatecznej aplikacji utworzonej z naszej aplikacji w pakiecie. Zbudowałem pakiet lokalny i utworzyłem aplikację dla mojego urządzenia na podstawie instrukcji podanych w sekcji Wygeneruj zestaw plików APK dla urządzenia, ale nie można ich odtworzyć. Nic podejrzanego, gdy zajrzałem do pliku resource.asrc z analizatorem apk w studio.

Nie mając dalszych wskazówek, w końcu pomyśleliśmy, czy te wymiary są naprawdę potrzebne. Niezupełnie, ponieważ nie wpłynie to na wrażenia użytkownika.

Tak więc rozwiązaniem było usunięcie tego wymiaru z TextView. :)

cgr
źródło
0

Miałem ten sam problem, gdy zapomniałem dodać „dp” do wymiarów

<dimen name="hpr_trash_icon_frame_width">40</dimen>
<dimen name="hpr_trash_icon_frame_height">36</dimen>

Do

<dimen name="hpr_trash_icon_frame_width">40dp</dimen>
<dimen name="hpr_trash_icon_frame_height">36dp</dimen>
Gilad Raz
źródło
0

Sprawdź, czy odniesienie do wymiaru ma w definicji „sp”.

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

MSilva
źródło