2016-10-10 1 views
0

私は、テキスト入力フィールドから人の名前を取得し、別のアクティビティに送信し、その人の名前をTextView内の文に表示しようとしています。次のようにString変数を長いString変数に動的に挿入するにはどうすればよいですか?

私のコードは次のとおりです。

これが私の活動の一つです。

"Hey %1$s, you chose this which means blah blah....." 

は、その後、私は以前にのEditTextから引っ張られることmYourName変数を挿入する:

String meaningText = mCurrentColor.getMeaning(); 
meaningText = String.format(meaningText, mYourName); 
mColorText.setText(meaningText); 

私はの線に沿って何かを含んでいるでしょう、別のクラスから意味の文字列を引っ張っていますアクティビティを上記の文字列に入れます。

私はTeam Treehouseチュートリアルの書式を見つけました。それは、そのプロジェクトのコードに従っていました。

私はLocaleを取り込むString.formatを使用しています。

私は「T」にコードをミラーリングし、ちょうどいくつかの変数名を変更して間違っている正確に何を確認していません。

答えて

0

Stringクラスのlength()メソッドがint値を返すのを見ると、メソッドによって返される最大長はInteger.MAX_VALUEになります。これは2^31-1(または約20億)です。

理論的には、2,147,483,647文字の文字列を持つことができます。私はあなたがそれ以上のものを必要とするとは思わない。

しかし、Androidのシステムは、16メガバイトのような低いだろう、あなたのヒープ領域を制限します。したがって理論上の限界に達することはほとんどありませんし、4〜6400万文字の範囲のどこかでStringを最大限に活用できます。 なぜ、あなたは長い文字列変数と一緒にあなたの名前変数を直接使用することができる場合、長い文字列変数を考えていますか?

for Ex:- 
String meaning_text = "the very long message you wanted to show..."+ mYourName + "again a long message if you want to show"; 

私の提案は、表示したいメッセージにあなたの名前変数を直接使用することです。

+0

文字列str = meaningText + "" + mYourName –

0
EditText edt=(EditText)findViewbyId(R.id.edt); 
edt.setText("Dipali"); 

ここで、edittextから値を取得し、TextView文字列リソースで値を取得します。

String strEdtTextValue=edt.getText().toString(); 

TextView tV=(TextView)findViewById(R.id.txtView) 

としてダミー=のようなXMLリソースとしてのTextViewで設定したテキストリソースで

追加文字列 "ねえ%1 $ sを、あなたは.....何とか何とかを意味し、これを選びました"ファイル

<string name="dummy">Hey %1$s, you chose this which means blah blah.....</string> 

Resources res = getResources(); 
String dumyText= (res.getString(R.string.dummy),strEdtTextValue); 
tv.setText(dumyText); 

あなたに役立ちます。

関連する問題