2015-04-14 17 views
8

Ich bin ein Anfänger Android/Java-Programmierer und mein Hintergrund ist in erster Linie in C++ und C#. In C#, wenn ich eine String-Variable namens myWord habe und einen Wert von "Hello" hat, kann ich zusätzliche Informationen hinzufügen, indem ich den Operator + benutze.Text an einen TextView-Datentyp anhängen

Ich habe diese Methode ein paar Mal in Java versucht und anscheinend kann ich diese tatic nicht verwenden, da der TextView-Datentyp ungültig ist. Android Studio gibt mir die folgenden Fehler: Operator ‚+‘ kann nicht angewendet werden ‚Leere‘, ‚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"); 

Ich möchte einen Weg finden, zusätzlichen Text auf den ursprünglichen Wert anhängen von "Hallo", so dass der Wert von displayTextView "Hallo Bob!"

Irgendwelche Ideen?

Bearbeiten: Ich verwende derzeit ein Großbuchstabe "S" und meine App kann erfolgreich zugreifen und Informationen aus meiner Klasse abrufen. Die App würde FC verwenden, wenn ich versucht habe, Text an den TextView-Datentyp anzuhängen.

Vielen Dank für das Feedback jeder.

Antwort

10

Sie können append() für ein TextView-Objekt aufrufen.

In Ihrem Fall wäre es: displayTextView.append("Bob!");

+0

Danke. @ Longi – snapplex

1

Anfangsbuchstabe von String ist nicht kleiner Buchstabe. Um eine String-Variable in Java zu verwenden, müssen Sie String var;

Also, für Android-Anwendung folgenden Code:

TextView displayTextView = null; 
TextView displayTextView = (TextView) findViewById(R.id.myText); 
String myWord = "Your"; 
displayTextView.setText("Hello " + myword); 

Das sollte funktionieren.

5

Wenn Sie TextView verwenden, verwenden Sie append. Zum Beispiel:

TextView textView = (TextView) findViewById(R.id.myText); 
textView.setText("Hello"); 
textView.append(" Bob!"); 
4

Warum niemand vorgeschlagen getText() Methode?

TextView displayTextView = null; 
displayTextView.setText("text1"); 
displayTextView.setText(displayTextView.getText() + "text2");//poor and weak 

oder besser für längere Strings:

SpannableString ss =new SpannableString(); 
ss.append("text1").append("text2"); 
displayTextView.setText(ss); 
1

Ihr Problem liegt auf der Erklärung der String-Instanz sowohl in der Methode und die Variable.

Es erfordert ein "S" nicht ein Kleinbuchstabe s.

Auch das "+" - Zeichen funktioniert, es ist nur Ihre String-Deklaration wie angegeben.

Here is how it looks

Alles Gute :)