2016-08-24 12 views
0

ボタンのonClickListenerに編集テキスト参照を渡したいと、別のオプションがあります: - カスタムクラスを作成し、onClickListenerを以下のように実装して渡すことができます:ボタンのonClickListenerへのedittext参照の受け渡し

public class MyLovelyOnClickListener implements OnClickListener 
     { 

     EditText myLovelyEditText; 
     public MyLovelyOnClickListener(EditText myLovelyVariable) { 
       this.myLovelyVariable = myLovelyVariable; 
     } 

     @Override 
     public void onClick(View v) 
     { 
      String editTextValue = myLovelyEditText.getText().toString(); 

     } 
     }; 

MyLovelyOnClickListener onClickListenerVar = new MyLovelyOnClickListener(myEditText); 


ButtonVar.setOnClickListener(onClickListenerVar); 

私の直感は、前者が正しい方法だと言います。

しかし、私はEditTextをメンバ変数にして、それをonClickListenerの内部から参照することもできます。何か問題があればどうしますか?

ButtonVar.setOnClickListener(
    new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 

        String editTextValue = mEditText.getText().toString(); 

       } 
      }); 

第1の方法は第2の方法と比較して利点がありますか?

+0

参照してあなたの目標は何ですか? – Stefan

+0

@Opoo ...これは変わることがあります..たとえば、編集テキストからテキストを取得し、「保存ボタン」をクリックしてサーバーにアップロードする場合は、 –

+1

コードを入力してください。 –

答えて

0

アクティビティ(またはフラグメント)にフィールドを作成し、その参照を使用してください。中

editText = (EditText)findViewById(R.id.your_id); 

OnCreateイベント

private EditText editText; 

ごonClickListenerあなたが使用することができます。

editText.getText() 
+0

更新された質問をご覧ください。 –

関連する問題