我是初学的android / java程序员,我的背景主要是C ++和C#。在C#中如果我有一个名为myWord的字符串变量,它的值为" Hello"我可以使用+运算符附加其他信息。
我在java中尝试过几次这个方法,显然我不能使用这个tatic,因为TextView数据类型是void。 Android studio给出了以下错误:运营商' +'无法应用于' void',' java.lang.String'
/*C # */
public string bob ()
{
return "Bob!";
}
string myWord = "Hello ";
myWord = myWord + "Bob!"; //myWord is now equal to "Hello Bob!"
OR
myWord = "Hello " + bob(); //myWord is now equal to "Hello Bob!"
*/ JAVA */
TextView displayTextView = null;
displayTextView.setText("Hello");
我想找到一种方法将附加文字附加到" Hello"的原始值。所以displayTextView的值将是" Hello Bob!"
有什么想法吗?
编辑:我目前正在使用资本" S"我的应用程序可以成功访问和检索我班级的信息。当我尝试将文本附加到TextView数据类型时,该应用程序将为FC。
感谢大家的反馈。
答案 0 :(得分:23)
您可以在TextView对象上调用append()
。
在您的情况下,它将是:displayTextView.append("Bob!");
答案 1 :(得分:6)
如果您使用的是TextView,请使用append。例如:
TextView textView = (TextView) findViewById(R.id.myText);
textView.setText("Hello");
textView.append(" Bob!");
答案 2 :(得分:4)
为什么没有人建议使用getText()
方法?
TextView displayTextView = null;
displayTextView.setText("text1");
displayTextView.setText(displayTextView.getText() + "text2");//poor and weak
或更长的字符串更好:
SpannableString ss =new SpannableString();
ss.append("text1").append("text2");
displayTextView.setText(ss);
答案 3 :(得分:1)
String的第一个字母不是小写字母。要在java中获取String变量,您必须编写String var;
因此,对于Android使用以下代码:
TextView displayTextView = null;
TextView displayTextView = (TextView) findViewById(R.id.myText);
String myWord = "Your";
displayTextView.setText("Hello " + myword);
这应该有用。
答案 4 :(得分:1)
您的问题是在方法和变量中声明String实例。
它需要“S”而不是小写s。
此外,“+”符号确实有效,它只是指出的String声明。
一切顺利:)