我正在创建一个Android应用程序,一个简单的计算器,但我在XML文件中得到一个“[2012-03-12 20:22:21 - 计算器]错误:中止构建。”这是我无法解决的。你能找出问题吗?
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/linearLayout1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:id="@+id/linearLayout2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<EditText
android:id="@+id/txtResult"
android:layout_width="fill_parent"
android:layout_height="54dp"
android:inputType="number"
android:singleLine="true"
android:text="@string/result"
android:editable="false"
android:gravity="right">
</EditText>
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1.25"
android:text="@string/number1" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1.25"
android:text="@string/number2" />
<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/number3"
android:layout_weight="1.25" />
<Button
android:id="@+id/buttonPlus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1.25"
android:text="@string/calcAddition" />
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout4"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<Button
android:id="@+id/button4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/number4"
android:layout_weight="1.25" />
<Button
android:id="@+id/button5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/number5"
android:layout_weight="1.25"/>
<Button
android:id="@+id/button6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/number6"
android:layout_weight="1.25"/>
<Button
android:id="@+id/buttonMinus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1.25"
android:text="@string/calcMinus" />
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout5"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<Button
android:id="@+id/button7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/number7"
android:layout_weight="1.25" />
<Button
android:id="@+id/button8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/number8"
android:layout_weight="1.25"/>
<Button
android:id="@+id/button9"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/number9"
android:layout_weight="1.25"/>
<Button
android:id="@+id/buttonMultiplication"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1.25"
android:text="@string/calcMultiplication" />
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout6"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<Button
android:id="@+id/button0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1.02"
android:text="@string/number0" />
<Button
android:id="@+id/buttonCLR"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="0.67"
android:text="@string/calcCLR" />
<Button
android:id="@+id/btnCalcEqual"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/calcEqual" />
<Button
android:id="@+id/buttonDivision"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1.1"
android:text="@string/calcDiv" />
</LinearLayout>
</LinearLayout>
的strings.xml:
<?xml version="1.0" encoding="utf-8"?>
<string name="app_name">Calculator</string>
<string name="number1">1</string>
<string name="number2">2</string>
<string name="number3">3</string>
<string name="number4">4</string>
<string name="number5">5</string>
<string name="number6">6</string>
<string name="number7">7</string>
<string name="number8">8</string>
<string name="number9">9</string>
<string name="number0">0</string>
<string name="calcCLR">CLR</string>
<string name="calcDiv">/</string>
<string name="calcMultiplication">*</string>
<string name="calcAddition">+</string>
<string name="calcMinus">-</string>
<string name="result">0</string>
<string name="calcEqual">Calculate</string>
</resources>
答案 0 :(得分:7)
如果那是整个xml布局,那么你必须在第一行添加(在任何事情之前):
<?xml version="1.0" encoding="utf-8"?>
还有:
xmlns:android="http://schemas.android.com/apk/res/android"
仅在布局中的第一个元素上才需要(在您的情况下,LinearLayout
的ID为linearLayout1
)。
编辑:
在EditText
上设置颜色:android:textColor="@layout/main"
,这是错误的。如果你想要一个颜色资源,那么这样做:
android:textColor="@color/the_color"
其中the_color
是colors.xml
文件夹中包含以下内容的values
文件中的颜色集:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="the_color">#0077cc</color>
</resources>
答案 1 :(得分:2)
Eclipse似乎对XML文件开头的空格很挑剔。
如果文件中有这一行,它必须出现在文件的开头,前面没有空格(空格或制表符)。