将edittext引用传递给按钮的onClickListener

时间:2016-08-24 10:29:23

标签: android android-edittext onclicklistener

我想将编辑文本引用传递给按钮的onClickListener,我有不同的选择: - 我可以通过创建自定义类并实现onClickListener来传递它,如下所示: -

 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 个答案:

答案 0 :(得分:0)

只需在您的Activity(或片段)中创建该字段并使用该引用。

private EditText editText;
在OnCreate中

editText = (EditText)findViewById(R.id.your_id);
您可以在onClickListener中使用

editText.getText()