Android 验证按钮单击事件上的编辑文本
我是android编程新手,还在学习。为了练习,我开始创建一个非常简单和基本的应用程序,通过点击按钮计算年龄,并将出生年份作为输入。 我设法让它工作,并想做一些验证。就像我已经验证了我们提供的价值不应该超过今年一样,我成功地做到了这一点 现在我的问题是,我还想验证一下,如果没有输入,按下按钮,那么它应该通过Toast提醒用户。到目前为止,我已经尝试过这样做,但每次我在editText中没有任何东西的情况下按下按钮,应用程序就会崩溃 这是我的密码Android 验证按钮单击事件上的编辑文本,android,validation,events,buttonclick,Android,Validation,Events,Buttonclick,我是android编程新手,还在学习。为了练习,我开始创建一个非常简单和基本的应用程序,通过点击按钮计算年龄,并将出生年份作为输入。 我设法让它工作,并想做一些验证。就像我已经验证了我们提供的价值不应该超过今年一样,我成功地做到了这一点 现在我的问题是,我还想验证一下,如果没有输入,按下按钮,那么它应该通过Toast提醒用户。到目前为止,我已经尝试过这样做,但每次我在editText中没有任何东西的情况下按下按钮,应用程序就会崩溃 这是我的密码 calcAge.setOnClic
calcAge.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
if(dob > year){
Toast.makeText(getApplicationContext(), "Provide valid Input", Toast.LENGTH_SHORT).show();
}
else if(String.valueOf(dob) == null){
Toast.makeText(getApplicationContext(), "Please Provide Some Input", Toast.LENGTH_SHORT).show();
}
else{
dob = Integer.parseInt(String.valueOf(inAge.getText()));
currentYear.setText("Your Curret Year is :- " + year);
yourYear.setText("Your Birth Year is :- "+ dob);
int a = year-dob;
finalAns.setText("Your Age is :- " + a);
inAge.setText("");
}
}
});
上面的代码是点击按钮的代码。请提供一些解决方案
我还尝试将editText1.getText().toString.trim().lenght()==0置于if条件下,但这也不起作用,应用程序会崩溃。在单击列表器的按钮上尝试此操作
calcAge.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (yourEdittext.getText().toString().equals("")) {
yourEdittext.setError(getString("filed can't be empty"));
yourEdittext.requestFocus();
Toast.makeText(getApplicationContext(), "Please Provide Some Input", Toast.LENGTH_SHORT).show();
}
}
});
使用以下命令:
String dob = yourEditText.getText().toString();
然后像这样检查:
if (TextUtils.isEmpty(dob)) {
//show toast
}
您必须像这样进行验证:
doneDetails.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(validationDetails()){
//If get all data do Action
}else{
// Toast.makeText(getApplicationContext(),"Field Missing",Toast.LENGTH_SHORT).show();
}
}
这是验证部分方法:
private boolean validationDetails() {
if (userNameET.getText().toString().isEmpty()) {
userNameET.setError("Enter Patient Name");
return false;
}
if (ageET.getText().toString().isEmpty()) {
ageET.setError("Enter Age ");
return false;
}
if (gender.getSelectedItem().toString().isEmpty()) {
Toast.makeText(getApplicationContext(),"Select Gender",Toast.LENGTH_SHORT).show();
return false;
}
return true;
}
在您的按钮上尝试此操作,然后单击:
if ( yourEditText.getText().toString().equal("")) {
Toast.makeText(getApplicationContext(), "Please Give Some Input", Toast.LENGTH_SHORT).show();
}
点击按钮,首先检查dob是否大于一年。这是不正确的。首先,检查dob是否为null或空。然后检查是否大于一年
If (dob == null && dob.isEmplty){
Toast.makeText(getApplicationContext(), "Please Provide Some Input", Toast.LENGTH_SHORT).show();
} else if(dob > year){
Toast.makeText(getApplicationContext(), "Provide valid Input", Toast.LENGTH_SHORT).show();
} else {
//do what ever you want
}
谢谢你的回答。@MustakimKhalifa不客气。别忘了投票并将其中一个答案标记为已接受,这样其他人就可以清楚地知道你的问题不需要更多的答案。