2

我的代码有问题。

顺便说一句,我正在从 thenewboston 学习,目前正在学习教程 11,我在学习教程 10 时遇到了这个错误,我不打算继续下一个教程,直到这个问题得到解决。

 <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.thenewboston.sammy"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />

    <application android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"

它说:元素类型“应用程序”必须后跟属性规范“>”或“/>”。

        <activity android:name="com.thenewboston.sammy.StartingPoint"
            android:label="@string/app_name" 
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>
4

4 回答 4

3

字符串资源中不能有空格。我将更改为@string/Your total is 0然后@string/total_is_zero在以下位置创建该字符串资源strings.xml

res/values/strings.xml创建这个:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="total_is_zero">Your total is 0</string>
</resources>
于 2013-06-19T21:32:30.763 回答
0

如果您使用@string,那么Eclipse 期望在strings.xml 文件中找到一个名为“Your total is 0”的资源。例如,您可以在那里创建一个名为 total 的字符串并定义其

<string name="total">Your total is 0</string>

然后,您将在您的 xml 中将其引用为

<android:text= "@string/total">

如果您只想显示文本,您可以将 textview 字段替换为

<android:text= "Your total is 0">

希望这很清楚

于 2013-06-19T21:38:09.670 回答
0

我强烈建议您阅读本文并尝试了解资源在 Android 中的工作方式。

如果要添加字符串资源,则需要创建 string.xml 文件并将其放入 res/values/ 目录。在该文件中遵循以下格式:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="hello">Hello!</string>
    <string name="total_is_zero">Your total is 0</string>
</resources>

然后,您可以通过以下方式将所需的字符串资源分配给 xml 中的元素

<TextView
    android:layout_width= "fill_parent"
    android:layout_height= "wrap_content"
    android:text="@string/total_is_zero"
    android:textSize="45sp"
    android:layout_gravity="center"
    android:gravity="center"
    android:id="@+id/tvDisplay"
    />
于 2013-06-19T22:46:03.630 回答
0

试试这个并告诉我们结果:

从布局文件中删除这个

<resources>
    <string name="total_is_zero"> Total is zero</string>
</resources>
<resources> 
    <string name="add_one"> Add one</string>
</resources>
<resources>
    <string name="subtract_one"> Subtract one</string>
</resources>

并将其移动到一个文件 res/values/strings.xml 中,例如

   <?xml version= "1.0" encoding= "utf-8"?>
   <resources>
        <string name="total_is_zero"> Total is zero</string>
        <string name="add_one"> Add one</string>
        <string name="subtract_one"> Subtract one</string>
    </resources>

res/layout/activity_starting_point.xml 文件应该看起来像

<?xml version= "1.0" encoding= "utf-8"?>
<LinearLayout 
    xmlns:android= "http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width= "fill_parent"
    android:layout_height= "fill_parent"
    >
    <TextView
        android:layout_width= "fill_parent"
        android:layout_height= "wrap_content"
        android:text="@string/total_is_zero"
        android:textSize="45sp"
        android:layout_gravity="center"
        android:gravity="center"
        android:id="@+id/tvDisplay"
        />

       <Button 
           android:layout_width="250dp" 
           android:layout_height="wrap_content"
           android:text="@string/add_one"
           android:layout_gravity="center"
           android:textSize="20sp"
           android:id="@+id/bAdd"
           />
        <Button 
           android:layout_width="250dp" 
           android:layout_height="wrap_content"
           android:text="@string/subtract_one"
           android:layout_gravity="center"
           android:textSize="20sp"
           android:id="@+id/bSubtract"
           />
</LinearLayout>
于 2013-06-19T23:23:34.890 回答