2017-09-18 15 views
1

私の設定したテキスト行が機能しないようです。テキストビューをクリアするボタンを押しています。メソッド 'setText(java.lang.string)のエラーを解決できません。

  btnClick = (Button) findViewById(R.id.button4); 
      btnClick.setOnClickListener(new View.OnClickListener(){ 

       @Override 
       public void onClick(View v){ 

        txtBox1 = (EditText) findViewById(editText9); 
        editText9.setText(""); 
        txtBox2 = (EditText) findViewById(editText10); 
        editText10.setText(""); 

       } 
      }); 

      btnClick = (Button) findViewById(R.id.button5); 
      txtBox2 = (EditText) findViewById(editText10); 

      btnClick.setOnClickListener(new View.OnClickListener(){ 

       @Override 
       public void onClick(View v){ 

        txtBox2 = (EditText) findViewById(editText10); 
        editText10.setText(""); 
        String s = new String(binary); 
        txtBox1.setText(s); 
+0

私はちょっと混乱していますが、あなたはeditText9をtxtBox1として取得し、使用しないでください。ちょうどtxtBox1.setText( "");を使用してください。 –

+0

ユーザーがボタンを押すと、テキストボックス内のeditTextをクリアしますか? –

+0

'editText9'とは実際には' setText'メソッドを持っていますか?それはintまたは何かではありませんか? –

答えて

0

私はここで役立つと思う2つのものを見ています。まず、この行です:

txtBox2 = (EditText) findViewById(editText10); 

あなたはfindViewById()に渡している引数は、おそらくタイプintのです。通常はR.idの定数を使用しますが、技術的な理由はありません。したがって、我々はeditText10がintであると結論付けることができます。

は、これら2つのラインがあります。

txtBox2 = (EditText) findViewById(editText10); 
editText10.setText(""); 

これらはあなたがtxtBox2でテキストをクリアしようとしているが、あなたは間違っている変数にsetText()メソッドを呼び出しているように読めます。おそらくeditText10.setText("")txtBox2.setText("")と置き換えることができます。

とにかく、このエラーが発生する理由は、setText()を呼び出すオブジェクトがTextViewではないことです。私はそれがintだと思うが、それはまったく別のものかもしれない。

+0

ありがとうございました完璧に!!!!!!!!!!!!!!!!!!! –

0

ビューを使用する前に初期化する必要があります。それ以外の場合はnullになります。 onClickListenerを設定してbtnClick = (Button) findViewById(R.id.button5);を初期化しました。実際には動作しません。

ビューをすべて使用する前に初期化してください。

  txtBox2 = (EditText) findViewById(editText10); 
      txtBox1 = (EditText) findViewById(editText9); 
      btnClick = (Button) findViewById(R.id.button5); 

       btnClick.setOnClickListener(new View.OnClickListener(){ 
        @Override 
        public void onClick(View v){ 
         editText9.setText(""); 
         editText10.setText(""); 
        } 
       }); 

       btnClick.setOnClickListener(new View.OnClickListener(){ 
        @Override 
        public void onClick(View v){ 
         editText10.setText(""); 
         String s = new String(binary); 
         txtBox1.setText(s); 
+0

お手伝いをしてくれてありがとう!!!!!!!!!!!!!!!!!!!!!! –

+0

ハッピーコーディング:) –

-1

あなたはエディットテキストではないのTextView

試みをクリアしている:実装の

ベストな方法は、あなたの実装は、このようにする必要があり

次にそれを使用して、すべてのビューの最初の初期化されますtxtBox2.getText().clear();

関連する問題