2016-10-10 3 views
0

Ich versuche, den Namen einer Person aus einem Texteingabefeld zu nehmen, sie an eine andere Aktivität zu senden und den Namen dieser Person in einem Satz in einem TextView anzuzeigen.Wie füge ich String-Variable dynamisch in eine längere String-Variable ein?

Mein Code ist wie folgt:

Dieses in einem meiner Aktivitäten ist.

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

Ich ziehe die Bedeutung Zeichenfolge aus einer anderen Klasse, die etwas entlang der Linien von enthielte:

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

Dann möchte ich einfügen, dass mYourName Variable, die gezogen wird, von einem EditText in einem früheren Aktivität und lege das in die obige Zeichenfolge.

Ich fand diese Formatierung von einem Team Treehouse Tutorial und es funktionierte in diesem Projekt Code, als ich folgte.

Ich verwende das String.format, das ein Gebietsschema übernimmt.

Ich bin nicht sicher, was genau falsch ist, wie ich den Code auf ein "T" gespiegelt und nur einige Variablennamen geändert.

Antwort

0

Sehen als die String-Klasse length() Methode gibt einen int Wert, um die maximale Länge, die durch das Verfahren zurückgeführt werden würde Integer.MAX_VALUE wäre, die 2^31 - 1 (. Oder ungefähr 2 Milliarden)

Sie können theoretisch eine Zeichenfolge von 2.147.483.647 Zeichen haben. Ich denke nicht, dass du viel mehr brauchen solltest.

Allerdings begrenzt Android-System Ihren Heap-Speicherplatz, gehen so niedrig wie 16 MB. Daher werden Sie praktisch nie in der Lage sein, das theoretische Limit zu erreichen und werden mit einem String irgendwo im Bereich von 4-64 Millionen Zeichen auskommen. Also, warum denkst du an eine längere String-Variable, wenn Sie Ihre Name-Variable direkt zusammen mit einer String-Variable von langer Länge verwenden können.

also mein Vorschlag ist, Ihre Namensvariable direkt mit der Nachricht zu verwenden, die Sie zeigen wollten.

+0

String str = BedeutungText + "" + mIhrName –

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

jetzt, erhalten Wert von editiertext und Ersetzen in TextView String ressource.

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

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

Set Text in Textview als XML Ressource wie als

Dummy = "Hey% 1 $ s, können Sie dies wählten die bla bla ..... bedeutet"

add String in Ressourcen Datei

<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); 

Es liegt an Ihnen hilfreich.

Verwandte Themen