当我将此代码添加到activity_main.xml时,我收到错误,因为string.xml
中的值不存在..
除了手动更改string.xml
?
<TextView
android:id="@+id/TextView02"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/unknown"
android:textSize="20dip" >
</TextView>
答案 0 :(得分:3)
您正在引用 strings.xml 中的字符串 Hello wolrd ,这在strings.xml文件中不存在。
您无法以编程方式更改strings.xml中的值。
您可以执行以下操作以编程方式更改textview中的文本。
TextView tv= (TextView) findViewById(R.id.TextView02);
tv.setText("hello");
or
tv.setText(getResources().getString(R.string.my_string));// refer to the string in strings.xml programatically.
您可以在xml中设置文本
<TextView
android:id="@+id/TextView02"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="hello"
android:textSize="20dip" >
在Strings.xml中
<string name="my_String">Hello World</string>
在xml文件中,您可以引用上面的字符串
<TextView
android:id="@+id/TextView02"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/my_string"
android:textSize="20dip" >
http://developer.android.com/guide/topics/resources/string-resource.html。看看链接。
上面链接中的一个例子。
保存在res / values / strings.xml的XML文件:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello!</string>// hello is defined here in strings.xml
</resources>
此布局XML将字符串应用于视图:
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello" />// resource hello is refered here.
答案 1 :(得分:1)
听起来很简单,但我遇到了同样的问题。我刚刚重启Android Studio解决了这个问题。