我正在尝试编写一个简单的注册应用程序,用户必须填写一些字段,其中一些是必填的。所以,我需要检查用户是否在那里写了信息。我正在做这个:
for(RequireFields r : RequireFields.values()){
if(boolValue()){
switch (r.getField()) {
case "name":
System.out.println("Name");
break;
case "surname":
System.out.println("Surname");
break;
case "pass":
System.out.println("Pass");
break;
case "email":
System.out.println("Email");
break;
case "street":
System.out.println("Street");
break;
case "city":
System.out.println("City");
break;
case "zip":
System.out.println("Zip");
break;
}
}
}其中boolValue()返回TextUtils.isEmpty(字段)的状态,但这部分我不知道怎么做,目前RequireFileds是一个枚举:
public enum RequireFields {
NAME("name",1),
SURNAME("surname",2),
EMAIL("email",3),
PASS("pass",4),
CITY("city",5),
STREET("street",6),
ZIP("zip",7);
private final String field;
private final int position;
RequireFields(String field, int position) {
this.field = field;
this.position = position;
}
public String getField() {
return field;
}
public int getPosition() {
return position;
}
}我把一个数字和名字放在一起,这样我就可以使用iterate for了。有什么想法或简单的方法可以做到这一点吗?
PD:这是我在其他应用程序中使用的两个字段的代码:
ssid.setError(null);
pass.setError(null);
String SSID = ssid.getText().toString();
String PASS = pass.getText().toString();
boolean cancel = false;
View focusView = null;
if (TextUtils.isEmpty(PASS) && !openWifi) {
pass.setError(getString(R.string.error_field_pass));
focusView = pass;
cancel = true;
}
if (TextUtils.isEmpty(SSID)) {
ssid.setError(getString(R.string.error_field_ssid));
focusView = ssid;
cancel = true;
}发布于 2015-05-04 20:08:54
我这样做是为了检查空的EditText...
if (editTextName.getText().toString().equalsIgnoreCase(""))
{
// show message/toast for empty name
}
else if (editTextSurname.getText().toString().equalsIgnoreCase(""))
{
// show message/toast for empty Surname
}
else if (editTextEmail.getText().toString().equalsIgnoreCase(""))
{
// show message/toast for empty Email
}
else
{
// If above all conditions are false means all fields are not empty so put your action here
}希望这能有所帮助..。
发布于 2015-05-04 20:39:33
我没有抓住你想要的东西。下面是我用过的
private static final SparseArray< RequireFields > _map=new SparseArray< RequireFields >();static { for (RequireFields cmd: RequireFields.values()) { _map.put(cmd.position,cmd);}}公共静态字段(Int值){valueOf字段= _map.get( value);if (field==null) { Log.d( "RequireFields ",“RequireFields position”+value+ not found");} return字段;}
这样你就可以使用
开关(RequireFields.valueOf(值){案例名称:.......//您的处理程序中断;大小写姓氏:....}
希望这能帮助
https://stackoverflow.com/questions/30029257
复制相似问题