我试图在单击“清除表单”按钮时清除或重置 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/