我是android编程的新手,还在学习。为了练习,我开始创建一个非常简单和基本的应用程序,它计算按钮点击的年龄,以生日年为输入。 我设法让它工作,并希望对它进行一些验证。就像我已经确认我们提供的价值不应该超过当年,我成功完成了。
现在我的问题是我还想要验证,如果没有输入并按下按钮,那么它应该通过Toast提醒用户。到目前为止,我已经尝试过,但每次在editText中按下按钮时,应用程序都会崩溃。
这是我的代码。
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 in if condition但是也没有工作,应用只是崩溃。
答案 0 :(得分:1)
在按钮点击列表器
上尝试此操作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();
}
}
});
答案 1 :(得分:0)
使用此:
String dob = yourEditText.getText().toString();
然后检查它:
if (TextUtils.isEmpty(dob)) {
//show toast
}
答案 2 :(得分:0)
你必须做这样的验证:
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;
}
答案 3 :(得分:0)
点击按钮尝试此操作:
b
答案 4 :(得分:0)
点击按钮,您首先检查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
}