当我尝试运行我的应用程序时崩溃,我在logcat中得到以下内容:
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.application/com.example.application.StartActivity}: android.view.InflateException: Binary XML file line #22: Error inflating class <unknown>
.....
Caused by: android.view.InflateException: Binary XML file line #22: Error inflating class <unknown>
.....
Caused by: java.lang.reflect.InvocationTargetException
.....
Caused by: java.lang.UnsupportedOperationException: Can't convert to dimension: type=0x1
错误还包括我自己的代码中的一行,我在其中设置了内容视图
这是我引用
的xml文件<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="200dp">
<TextView
android:id="@+id/summonerName"
android:layout_width="439dp"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:gravity="center_vertical"
android:hint="@string/prompt_email"
android:textSize="?android:textAppearanceLarge"
android:singleLine="true" />
<Spinner
android:id="@+id/region"
android:layout_width="83dp"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toRightOf="@id/summonerName"
android:layout_alignParentRight="true"
/>
<Button
android:id="@+id/btnSearch"
style="?android:textAppearanceSmall"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:background="#777"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:text="@string/action_sign_in"
android:textColor="#FFF"
android:textStyle="bold" />
</RelativeLayout>
</LinearLayout>
<ListView
android:id="@+id/left_drawer"
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:background="#f3f3f4"
android:choiceMode="singleChoice"
android:divider="#dadadc"
android:dividerHeight="1dp"/>
我不知道如何处理这些错误。任何人都可以帮助我走上正轨吗?
答案 0 :(得分:2)
应该定义所有的@dimens
例如
<resources>
<!-- Default margins, per the Android Design guidelines. -->
<dimen name="activity_horizontal_margin">16dp</dimen>
<dimen name="activity_vertical_margin">16dp</dimen>
</resources>
您可能已将其添加到例如这些文件夹
中或者任何其他文件夹当然可以归属于 但不要忘记那些也必须在
他们必须在那里定义
如果不是问题,请尝试为每个layout-XXXX文件夹创建一个value-XXXX文件夹
和
例如
答案 1 :(得分:0)
我遇到了同样的问题,
问题是我使用了DrawerLayout并且我的minSDK设置为低于14.更改它解决了问题。由于某种原因,android支持和appcompat包允许您使用DrawerLayout,但缺少布局的DrawerLayout定义。
将minSDK更改为14解决了问题。
答案 2 :(得分:0)
可能是使用高分辨率可绘制资源的原因。检查可绘制文件分辨率。
答案 3 :(得分:0)
对我来说,这是因为布局在父级线性布局中使用了android:theme =“ @ style / AppTheme”。 该应用程序主题定义为:
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="actionBarTheme">@color/colorAccent</item>
<item name="android:textColorPrimary">@color/white</item>
<item name="android:textColorHint">@color/white</item>
我删除了它,一切正常。