Pratik Butani Pratik Butani - 6 months ago 8
Android Question

Caused by: java.lang.UnsupportedOperationException: Can't convert to dimension: type=0x1

In Android I got following Error in emulator and some mobile device but not in Tablet:

I don't understand what error is there?

I have searched many tutorials but can't find any solution.

Please Help me to solve this.

Note: In this application i have used ActionbarSherlock and theme, may i got because of that library or any other problem?

My Error Log is:

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


My XML Layout file is:

<?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
in
values
folder:



<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
in
values-11
folder:



<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
in
values-14
folder:



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


and also i have custom theme file:

In
values
folder named
styles_apptheme.xml
and
styles_myactionbar.xml
,
In
values-v11
folder named
styles_apptheme.xml
,
In
values-v14
folder named
styles_myactionbar.xml


What should i change.?

Your Help would Be Appreciated.

Thanks in Advance...

Answer

After 2 days I found the solution; from the layout as defined in my question, I have a Spinner which is bound with a custom 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"
    ... />

Here, I have an extracted dimension resource: @dimen/spinner_list_item_text_size.

This has been defined in dimens.xml in the following directories:

  • values-sw600dp
  • values-sw720dp-land

but crucially I forgot to define it in

  • values

After defining the resource (@dimen/spinner_list_item_text_size) in values/dimens.xml, it works successfully.