2016-07-20 7 views
-1

So meine App muss Text aus einem Textfeld mit einem Tag von "inText" tun Sachen dazu (das Zeug funktioniert) dann schreibe die Ausgabe in eine Box mit der ID "outView". Ich habe dies mit setText() und getText() getan.Android Studio getText() und setText() funktioniert nicht mit Fehler: "kann Methode nicht auflösen" getText/setText "()"

setText() war die Ausgabe unten für das Schreiben ist, was ich verwenden:

(TextView)findViewById(R.id.outView.setText(textoutput)); 

getText() war die Eingabe von Text dann zum Lesen sie auf eine Variable zu schreiben und unten ist, was ich verwenden:

String mEdit = (EditText)findViewById(R.id.inText.getText()).toString(); 

Antwort

2

Sie setzen die getText() und setText() Verfahren an falscher Stelle. getText() und setText() sind Methoden der TextView- und EditText-Klassen. Aber hier haben Sie es als eine Methode der ID verwendet. Deshalb wird angezeigt "Kann Methode getText/setText() nicht auflösen". Als id hat keine solchen Methoden.

Sie können Folgendes tun.

((TextView) findViewById(R.id.outView)).setText(textoutput); 

und

String mEdit = ((EditText) findViewById(R.id.inText)).getText().toString(); 
+0

nicht haben, danke. –

+0

@DannyPiper Kannst du meine Antwort nicht sehen, die weit über 20 Minuten vor dieser ist? – Vucko

+0

@DannyPiper Willkommen, :) –

3

Sie verketten die Methode an der falschen Stelle. Entfernen .getText() von R.id.inText und legen Sie sie nach den Klammern wie (gleiche für TextView):

String mEdit = ((EditText)findViewById(R.id.inText)).getText().toString(); 

Obwohl dies eine ungewöhnliche Art und Weise, was zu tun ist. initialisieren eher die EditText zuerst und dann den Text bekommen, es ist viel klarer auf diese Weise:

EditText mEdit = (EditText)findViewById(R.id.inText); 
String mText = mEdit.getText().toString(); 
0

Es funktioniert nicht, da Sie zuerst die Textview festlegen müssen:

TextView tvOut = (TextView) findViewById(R.id.outView); 
TextView tvIn = (TextView) findViewById(R.id.inText); 

String out = tvOut.getText().toString(); 
String in = tvIn.setText(out); 
0

Wenn Sie ein Feld überprüfen Sie den Compiler nicht automatisch als statt EditText Typ Ansicht verwenden.

Auch sind die Modelle überflüssig jetzt so dass Sie besser nutzen sie nicht, wenn Sie perfekt Arbeitete zu

Verwandte Themen