私は初心者の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になります。
フィードバックをありがとう。
TextViewオブジェクトでappend()
を呼び出すことができます。
あなたの場合、それは次のようになります:displayTextView.append("Bob!");
TextViewを使用している場合は、 append を使用します。例えば:
TextView textView = (TextView) findViewById(R.id.myText);
textView.setText("Hello");
textView.append(" Bob!");
誰も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);
問題は、メソッドと変数の両方でのStringインスタンスの宣言にあります。
小文字ではなく「S」が必要です。
また、「+」記号は機能します。これは、指摘したとおりの単なる文字列宣言です。
ではごきげんよう :)
文字列の最初の文字は小文字ではありません。 JavaでString変数を取得するには、String var;
したがって、Android=には次のコードを使用します。
TextView displayTextView = null;
TextView displayTextView = (TextView) findViewById(R.id.myText);
String myWord = "Your";
displayTextView.setText("Hello " + myword);
これは動作するはずです。