您好,我正在关注有关学习Android的书籍教程,但是这本书已经过时了。我收到“字符串文字无法翻译”和“请勿使用setText连接文本”的信息。我想知道更新TextView的正确方法是什么?我认为那是我本质上想要做的。
<TextView
android:id="@+id/textScore"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Score: 999"
android:textSize="36sp"
android:layout_alignParentBottom="true"
android:layout_toLeftOf="@+id/textOperator"
android:layout_toStartOf="@+id/textOperator" />
<TextView
android:id="@+id/textLevel"`enter code here`
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Level: 4"
android:textSize="36sp"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_marginRight="11dp"
android:layout_marginEnd="11dp" />
这是Java。
textObjectScore.setText("Score:" + currentScore);
textObjectLevel.setText("Level:" + currentLevel);
最佳答案
两者都与翻译有关。
“字符串文字无法翻译”。这是一条警告,告诉您无论用户将手机更改为哪种语言,该字符串都将使用英语。对于专业应用程序,您需要在strings.xml中定义字符串,然后在应用程序中使用该字符串。假设您已提供翻译文件,则可以在电话的语言环境中选择字符串。
“不要使用setText连接文本”。用您的母语执行此操作没有实际问题。问题在于,在其他语言中,您所做的可能没有语法意义。相反,您应该在strings.xml中定义一个带有输入变量的字符串,并使用getString填写这些变量。
但是,对于将不会在国际上发布的东西迅速地放在一起,你很好。