二进制XML文件行#41:您必须提供layout_width属性

时间:2013-11-05 23:18:31

标签: java android xml

嘿伙计们,当我按下按钮equtime时,我正在开发Android应用程序它应该打开Moainstallerview.java但是当我测试应用程序时应用程序崩溃:( logcat给出了这个错误:

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.d4a.stz/jp.yhonda.MOAInstallerActivity}: java.lang.RuntimeException: Binary XML file line #41: You must supply a layout_width attribute.

继承我的代码:

moainstallerview.xml
<?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:context=".MOAInstallerActivity" >

    <CheckedTextView
        android:id="@+id/checkedTextView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="8dp"
        android:text="Equation Time on Android installs additional 85MB of data. Please                 choose the install location and press Install." />

    <RadioGroup
        android:id="@+id/radiogroup"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >

        <RadioButton
            android:id="@+id/radioButton1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Internal Storage" />

        <RadioButton
            android:id="@+id/radioButton2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="External Storage (SD Card)" />
    </RadioGroup>

    <!-- Push the button bar to the bottom -->
    <View
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:layout_weight="1" />

    <!-- Divider above the button bar -->
    <View style="?attr/buttonBarDividerStyle" />

    <LinearLayout
        style="?attr/buttonBarStyle"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <Button
            android:id="@+id/button2"
            style="?attr/buttonBarButtonStyle"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Cancel" />

        <Button
            android:id="@+id/equtime"
            style="?attr/buttonBarButtonStyle"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Install" />
    </LinearLayout>

</LinearLayout>

我感到很沮丧,所以任何帮助都会让我感到惊讶我是一个Android菜鸟所以请不要判断

问候

Rapsong11

3 个答案:

答案 0 :(得分:2)

错误消息显示“二进制XML文件行#41:您必须提供layout_width属性。”

第41行是下面的一行。此处的View代码需要包含layout_widthlayout_height属性:

<View style="?attr/buttonBarDividerStyle" />

例如:

<View android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     style="?attr/buttonBarDividerStyle" />

答案 1 :(得分:0)

根据错误消息,您需要在buttonBarDividerStyle视图中添加layout_width属性。

试试这个:

<View style="?attr/buttonBarDividerStyle" android:layout_width="match_parent" />

答案 2 :(得分:0)

对我来说,在我的一个layout.xml文件中,我有

<ImageView
    android:id="@+id/row_1_col_0"
    android:layout_width="@string/default_picture_size"
    android:layout_height="@string/default_picture_size"
    android:layout_weight="1"
    android:background="@drawable/tile"
    android:onClick="mClickMethod" >
</ImageView>

在strings.xml里面,我有 WRAP_CONTENT

因此它在Android Studio中显示:

<ImageView
    android:id="@+id/row_1_col_0"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:background="@drawable/tile"
    android:onClick="mClickMethod" >
</ImageView>

我认为一切都会有效,因为没有错误,应用程序已编译并运行。但是,有一个运行时错误,表示我没有设置layout_width。

我从

更改layout_width和layout_height
android:layout_width="@string/default_picture_size"
android:layout_height="@string/default_picture_size"

android:layout_width="wrap_content"
android:layout_height="wrap_content"
一切顺利。