2016-07-20 19 views
-1

私のアプリは" inText "というタグを持つテキストボックスからテキストを読み込む必要があるので、AndroidスタジオgetText()とsetText()それに物事(そのものは動作します)、 "outView"のidを持つボックスに出力を書き出します。私はsetText()とgetText()でこれを行ってきました。"getText/setText"() "

のsetText()は以下の出力を書き込むためだった私が使用したものである:

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

のgetText()入力テキストは、変数にそれを書き込み、下記の読み込みのためだった私が使用したものである:

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

答えて

2

あなたがgetText()setText()方法を設定します間違った場所に getText()およびsetText()はTextViewクラスとEditTextクラスのメソッドです。 しかしここではidのメソッドとして使っています。だから、 "getText/setText()メソッドを解決できません"というメッセージが表示されます。 idにはそのようなメソッドはありません。

以下が可能です。

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

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

完璧に感謝しました。 –

+0

@DannyPiper私の答えは20分以上前に見えませんか? – Vucko

+0

@DannyPiperようこそ、:) –

3

メソッドを間違った場所にチェーンしています。 R.id.inTextから.getText()を削除し、(TextViewについても同じこと)のように括弧の後にそれを置く:

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

これは事を行うには珍しいやり方ですが。むしろ最初のEditTextを初期化してからテキストを取得し、それがそのように非常に明確です:

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

あなたが最初のTextViewを設定する必要があるために動作していないです:

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

あなたは、フィールドを使用する場合、コンパイラが自動的に代わりのEditTextタイプのビューとして設定していない確認してください。

また、キャストは冗長であるため、使用しない方がよい場合は使用しないでください。