我是初学Android和制作和应用程序,需要编辑文本和它的验证。我尝试了不同的方法来验证编辑文本,但是没有用。请帮助我,谢谢。
以下是我正在使用的代码:
EditText age = (EditText)findViewById(R.id.age);
EditText weight= (EditText)findViewById(R.id.weight);
EditText height= (EditText)findViewById(R.id.height);
Button calculate = (Button) findViewById(R.id.btn_cal);
calculate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
final String a=age.getText().toString();
int aN=Integer.parseInt(a);
final String w=weight.getText().toString();
int wN=Integer.parseInt(w);
final String h=height.getText().toString();
int hN=Integer.parseInt(h);
if(a.length()==0){
age.requestFocus();
age.setError("Between 13 ans 80");
}
if(w.length()==0){
weight.requestFocus();
weight.setError("Weight required!");
}
if(h.length()==0){
height.requestFocus();
height.setError("Height required!");
}
}
});
答案 0 :(得分:1)
尝试这样的事情:
if(TextUtils.isEmpty(a)){
age.requestFocus();
age.setError("Between 13 ans 80");
}
希望有所帮助
答案 1 :(得分:1)
试试这个:
calculate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(age.length()==0){
age.requestFocus();
age.setError("Between 13 ans 80");
}
else if(weight.length()==0){
weight.requestFocus();
weight.setError("Weight required!");
}
else if(height.length()==0){
height.requestFocus();
height.setError("Height required!");
}
else{
a=age.getText().toString();
aN=Integer.parseInt(a);
w=weight.getText().toString();
wN=Integer.parseInt(w);
h=height.getText().toString();
hN=Integer.parseInt(h);
}
}
});
使用初始代码,如果editTexts留空,它将给出NumberFormat Exception
。我不知道你的代码中是什么,w,h但我猜你错误地认为你的edittexts为a,w,h显然年龄,体重和身高。
<强>更新强>
全局声明字符串和与此代码相关的整数变量,即在onCreate()之前。像字符串a,w,h和int aN,wN,hN。
答案 2 :(得分:0)
尝试这样的代码
EditText age = (EditText)findViewById(R.id.age);
EditText weight= (EditText)findViewById(R.id.weight);
EditText height= (EditText)findViewById(R.id.height);
age.setInputType(InputType.TYPE_CLASS_NUMBER);
weight.setInputType(InputType.TYPE_CLASS_NUMBER);
height.setInputType(InputType.TYPE_CLASS_NUMBER);
Button calculate = (Button) findViewById(R.id.btn_cal);
calculate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String a=age.getText().toString().trim();
String w=weight.getText().toString().trim();
String h=height.getText().toString().trim();
if(TextUtils.isEmpty(a)){
age.requestFocus();
age.setError("Between 13 ans 80");
}
if(TextUtils.isEmpty(w)){
weight.requestFocus();
weight.setError("Weight required!");
}
if(TextUtils.isEmpty(h)){
height.requestFocus();
height.setError("Height required!");
}
int aN=Integer.parseInt(a);
int wN=Integer.parseInt(w);
int hN=Integer.parseInt(h);
}
});