元素类型"application"后必须跟有属性规范、">"或"/>"



我的代码出了点问题。

顺便说一下,我正在从newboston学习,目前在教程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"

它说:元素类型"application"必须后跟属性说明">"或"/>"。

        <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>

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

res/values/strings.xml create this:

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

试一下,告诉我们结果:

从布局文件中删除这个

<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>

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

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

然后在xml中将其引用为

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

如果你只想显示文本,你可以用

替换你的textview字段
<android:text= "Your total is 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"
    />

相关内容

  • 没有找到相关文章

最新更新