web-dev-qa-db-ja.com

TextViewデータ型にテキストを追加します

私は初心者のAndroid/Javaプログラマーであり、私の経歴は主にC++とC#にあります。 C#では、myWordという文字列変数があり、値が「Hello」の場合、+演算子を使用して追加情報を追加できます。

Javaでこのメソッドを数回試したところ、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");

DisplayTextViewの値が「Hello Bob!」になるように、「Hello」の元の値に追加のテキストを追加する方法を見つけたいです。

何か案は?

編集:現在、大文字の「S」を使用しているため、アプリはクラスに正常にアクセスして情報を取得できます。 TextViewデータ型にテキストを追加しようとすると、アプリはFCになります。

フィードバックをありがとう。

14
snapplex

TextViewオブジェクトでappend()を呼び出すことができます。

あなたの場合、それは次のようになります:displayTextView.append("Bob!");

25
Longi

TextViewを使用している場合は、 append を使用します。例えば:

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

誰も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);
4
deadfish

問題は、メソッドと変数の両方でのStringインスタンスの宣言にあります。

小文字ではなく「S」が必要です。

また、「+」記号は機能します。これは、指摘したとおりの単なる文字列宣言です。

Here is how it looks

ではごきげんよう :)

1
TejjD

文字列の最初の文字は小文字ではありません。 JavaでString変数を取得するには、String var;

したがって、Android=には次のコードを使用します。

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

これは動作するはずです。

1
Dijkstra