我的代码出了点问题。
顺便说一下,我正在从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"
/>