在 Android 中,我在模拟器和某些移动设备中遇到以下错误,但在平板电脑中却没有:
我不明白错误到底是什么?
我搜索了很多教程,但找不到任何解决方案。
请帮我解决这个问题。
注意:在此应用程序中,我使用了 ActionbarSherlock和主题,我可能是因为该库或任何其他问题而得到的?
我的错误日志是:
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
我的 XML 布局文件是:
<?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>
values
文件夹中的
styles.xml
:
<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>
values-11
文件夹中的
styles.xml
:
<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>
values-14
文件夹中的
styles.xml
:
<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>
而且我还有一个自定义主题文件:
在名为 styles_apptheme.xml
和 styles_myactionbar.xml
的 values
文件夹中, 在名为 styles_apptheme.xml
的 values-v11
文件夹中, 在名为 styles_myactionbar.xml
values-v14
文件夹中
我应该改变什么?
请您参考如下方法:
两天后我找到了解决方案;根据我的问题中定义的布局,我有一个与自定义 TextView
绑定(bind)的 Spinner
:
<?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"
... />
在这里,我有一个提取的维度资源:@dimen/spinner_list_item_text_size
。
这已在以下目录的 dimens.xml
中定义:
值-sw600dp
values-sw720dp-land
但至关重要我忘记在中定义它
值
在values/dimens.xml
中定义资源(@dimen/spinner_list_item_text_size
)后,它可以成功运行。