首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正在检查空textEdit

正在检查空textEdit
EN

Stack Overflow用户
提问于 2015-05-04 19:41:29
回答 2查看 147关注 0票数 0

我正在尝试编写一个简单的注册应用程序,用户必须填写一些字段,其中一些是必填的。所以,我需要检查用户是否在那里写了信息。我正在做这个:

代码语言:javascript
复制
    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是一个枚举:

代码语言:javascript
复制
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:这是我在其他应用程序中使用的两个字段的代码:

代码语言:javascript
复制
    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;
    }
EN

回答 2

Stack Overflow用户

发布于 2015-05-04 20:08:54

我这样做是为了检查空的EditText...

代码语言:javascript
复制
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 
}

希望这能有所帮助..。

票数 2
EN

Stack Overflow用户

发布于 2015-05-04 20:39:33

我没有抓住你想要的东西。下面是我用过的

  • 将以下代码添加到您的requireFields

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(值){案例名称:.......//您的处理程序中断;大小写姓氏:....}

希望这能帮助

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30029257

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档