AndroidApp:如何用java代码输出字符串?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (395)

我想做一些非常简单的事情:

if(i < 1) 
    System.out.println("Ja");
 else
    System.out.println("Nein");

我的第一个想法是如何实现这一点是在xml中使用String资源的TextView:

<TextView
android:id="@+id/mytextview"
android:text="@string/Entscheidung"
android:layout_width="match_parent"
android:layout_height="match_parent" />

然后通过Java代码访问该资源:

R.string.Entscheidung = "Ja";

但它不起作用:错误:(13,17)错误:无法为最终变量Entscheidung分配值

还有另一种方法吗?

提问于
用户回答回答于

首先,我想澄清字符串资源的概念以及如何使用它们。对于常数字符串值(“JA”和“Nein”你的情况),可以在一个名为文件中定义这些值strings.xml,位于内res/values的文件夹。举个例子:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="antwort_ja">Ja</string>
    <string name="antwort_nein">Nein</string>
</resources>

代码将是:

// I'm assuming you have this declared in onCreate()
TextView myTextView = (TextView)findViewById(R.id.mytextview); 

if (i < 1) {
    myTextView.setText(getString(R.string.antwort_ja));
} else {
    myTextView.setText(getString(R.string.antwort_nein));
}
用户回答回答于

首先声明TextView变量

private TextView mTextView;

在onCreate

mTextView  = (TextView) findViewById(R.id.mytextview);

之后你可以使用它

if(i < 1) 
    System.out.println("Ja");
 else
    System.out.println("Nein");

可以使用TextView完成,如下所示

if(i < 1) 
   mTextView.setText(getString(R.String.myJaText);
 else
    mTextView.setText(getString(R.String.myNeinText);

在Strings.xml中,可以编写要在文本字段中使用的文本

可以在以下位置找到Strings.xml Res - Values

<string name="myJaText">Ja</string>
<string name="myNeinText">Nein</string>

扫码关注云+社区

领取腾讯云代金券