【问题标题】:Unable to clear edittext using edittext.setText("") in android无法在android中使用edittext.setText(“”)清除edittext
【发布时间】:2014-06-21 19:11:51
【问题描述】:

我试图在单击清除表单按钮时清除或说重置编辑文本。我无法清除 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 = "user@gmail.com"; 

                    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("");
                }
        }
    });
}

任何变化..??我哪里错了..??请帮帮我...

【问题讨论】:

标签: android button android-edittext reset


【解决方案1】:

您忘记为清除按钮添加 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 = "user@gmail.com"; 

                    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("");
                }
            }
    });
}

【讨论】:

    【解决方案2】:

    在点击监听器上实现清除按钮:-

    clear.setOnClickListener(new View.OnClickListener()
        {
            @Override
            public void onClick(View view)
            {
    
                        et1.setText("");
                        et2.setText("");
                        et3.setText("");
    
            }
        });
    

    【讨论】:

      【解决方案3】:

      试试这个,

      EditText et1;
      et1.setText(null);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-08-10
        • 2019-07-25
        • 1970-01-01
        • 2020-03-14
        • 2014-05-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多