您好,我正在关注有关学习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填写这些变量。

但是,对于将不会在国际上发布的东西迅速地放在一起,你很好。

07-24 22:25