android - 无法在android中使用edittext.setText ("")清除edittext

标签 android button android-edittext reset

我试图在单击“清除表单”按钮时清除或重置 editText。我无法清除 editText 框。这是我的完整代码:

protected void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_contact_us);

    et1 = (EditText) findViewById(R.id.editText1); //name
    et3 = (EditText) findViewById(R.id.editText3); //email
    et2 = (EditText) findViewById(R.id.editText2); //feedback


    Button submit1 = (Button) findViewById(R.id.button1);
    //submit1.setOnClickListener(this);
    Button clear=(Button)findViewById(R.id.button2);
    //clear.setOnClickListener(this);

    submit1.setOnClickListener(new View.OnClickListener()
    {
        @Override
        public void onClick(View view)
        {
             if(view==submit1)
             {
                if(et1.getText().toString().length()==0 || et2.getText().toString().length()==0
                        || et3.getText().toString().length()==0 )
                {
                    Toast t1=Toast.makeText(getApplicationContext(), "Please fill all the forms",
                            Toast.LENGTH_LONG);
                    t1.show();
                }
                else
                {
                    String email = "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="b5c0c6d0c7f5d2d8d4dcd99bd6dad8" rel="noreferrer noopener nofollow">[email protected]</a>"; 

                    String sub1=spin.getSelectedItem().toString();
                    String message = et2.getText().toString();//body
                    String name = et1.getText().toString(); 

                    String from=et3.getText().toString();
                    String emailPattern = "[a-zA-Z0-9._-]+@[a-z]+\\.+[a-z]+";

                    if(from.matches(emailPattern))
                    {
                        String body="Name :"+name+"\n"+"Email ID :"+ from+"\n"+"Feedback :"+message;
                        sendMail(email,sub1,from, body); 
                    }
                    else
                    {
                        Toast.makeText(getApplicationContext(), "Invalid Email ID", Toast.LENGTH_SHORT).show();
                        et3.setText("");
                    }
                }
            }
             else if(view==clear)
                {
                    et1.setText("");
                    et2.setText("");
                    et3.setText("");
                }
        }
    });
}

有任何改变..??我哪里错了..?请帮助我...

最佳答案

您忘记为清除按钮添加 onClickListener,请更改您的代码,如下所示,

protected void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_contact_us);

    et1 = (EditText) findViewById(R.id.editText1); //name
    et3 = (EditText) findViewById(R.id.editText3); //email
    et2 = (EditText) findViewById(R.id.editText2); //feedback


    Button submit1 = (Button) findViewById(R.id.button1);
    //submit1.setOnClickListener(this);
    Button clear=(Button)findViewById(R.id.button2);
    //clear.setOnClickListener(this);

    submit1.setOnClickListener(new View.OnClickListener()
    {
        @Override
        public void onClick(View view)
        {
             if(view==submit1)
             {
                if(et1.getText().toString().length()==0 || et2.getText().toString().length()==0
                        || et3.getText().toString().length()==0 )
                {
                    Toast t1=Toast.makeText(getApplicationContext(), "Please fill all the forms",
                            Toast.LENGTH_LONG);
                    t1.show();
                }
                else
                {
                    String email = "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="dca9afb9ae9cbbb1bdb5b0f2bfb3b1" rel="noreferrer noopener nofollow">[email protected]</a>"; 

                    String sub1=spin.getSelectedItem().toString();
                    String message = et2.getText().toString();//body
                    String name = et1.getText().toString(); 

                    String from=et3.getText().toString();
                    String emailPattern = "[a-zA-Z0-9._-]+@[a-z]+\\.+[a-z]+";

                    if(from.matches(emailPattern))
                    {
                        String body="Name :"+name+"\n"+"Email ID :"+ from+"\n"+"Feedback :"+message;
                        sendMail(email,sub1,from, body); 
                    }
                    else
                    {
                        Toast.makeText(getApplicationContext(), "Invalid Email ID", Toast.LENGTH_SHORT).show();
                        et3.setText("");
                    }
                }
            }
        }
    });

    // Add this code
    clear.setOnClickListener(new View.OnClickListener()
    {
            @Override
            public void onClick(View view)
            {
                if(view==clear)
                {
                    et1.setText("");
                    et2.setText("");
                    et3.setText("");
                }
            }
    });
}

关于android - 无法在android中使用edittext.setText ("")清除edittext,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23473236/

相关文章:

java - Android 上的 NFC 不起作用

android - 如何获得屏幕倾角的大小

android - 我是否必须删除 Android 中的线程

jquery - 单击按钮时 HTML jQuery 更改段落

单击 JavaScript 按钮导航到另一个 HTML 页面

android - EditText 小部件的 onClickListener 中的 SetSelection 行为很奇怪

Android RecyclerView EditText更新错误的行

android - 在 WebView loadUrl() 中信任证书颁发机构

html - 如何使我的自定义复选框可访问?

java - 有什么方法可以根据用户输入编辑 URI?