首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Android App:如何使用java代码打印字符串?

Android App:如何使用java代码打印字符串?
EN

Stack Overflow用户
提问于 2018-02-05 23:48:45
回答 3查看 671关注 0票数 -3

我对Android编程非常陌生!

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

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

要实现这一点,我的第一个想法是在xml中创建一个带有字符串资源的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赋值

有没有其他方法可以做到这一点?

谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-02-06 01:01:11

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

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

这些值是在编译时最终确定的,因此可以在整个应用程序中用作常量。对于XML布局文件,是的,您可以使用@string/前缀引用这些字符串资源。然而,在Java代码中,您只能使用带有R.string前缀的getString()方法来引用这些值。因为这些R.string值是final,所以它们不能在运行时更改,因此您会得到错误。在你的例子中,你的代码应该是:

// 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));
}

这也假设你是从你的活动中调用它的。如果不是,则可能需要从context.getString(R.string.antwort_ja);Context实例中调用它

票数 1
EN

Stack Overflow用户

发布于 2018-02-05 23:53:08

strings.xml文件:

<string name="firststring">Hello World</string>
<string name="secondtring">Welcome</string>

活动或片段:

textView.setText(i < 1 ? getResources().getString(R.string.firststring) : getResources().getString(R.string.secondtring));
票数 0
EN

Stack Overflow用户

发布于 2018-02-06 01:01:46

首先声明您的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中,您可以编写要在文本字段中使用的文本。

您可以在Res - Values中找到Strings.xml

<string name="myJaText">Ja</string>
<string name="myNeinText">Nein</string>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48626315

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档