我试图获取EditText值

时间:2019-01-05 07:30:19

标签: android android-edittext

我试图在onClickListner()上获取edittext值,但是当我尝试使用此`

 typed  = editText.getText().toString();
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {



                Toast.makeText(MainActivity.this,typed,Toast.LENGTH_SHORT).show();

            }
        });

它总是显示“”,但是当我使用此代码时

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

               typed  = editText.getText().toString();

                Toast.makeText(MainActivity.this,typed,Toast.LENGTH_SHORT).show();

            }
        });

它显示正确的值..为什么会这样?

1 个答案:

答案 0 :(得分:1)

是bcoz。

typed  = editText.getText().toString(); // It is Outside the listner
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {



                Toast.makeText(MainActivity.this,typed,Toast.LENGTH_SHORT).show();

            }
        });

这里是在您的“活动”或“片段加载”第一次时初始化的。当时EditText为空,但是当您单击Click时,它将获得EditText值并显示实际值。在下面的代码中显示。

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

               typed  = editText.getText().toString();

                Toast.makeText(MainActivity.this,typed,Toast.LENGTH_SHORT).show();

            }
        });

注意:-:OnClick是一个侦听器,当您单击该视图时会执行。因此,只要您要单击该视图,便会调用该方法。