首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android -在edittext中输入有效的URL之前,按钮处于禁用状态

Android -在edittext中输入有效的URL之前,按钮处于禁用状态
EN

Stack Overflow用户
提问于 2011-10-25 01:58:20
回答 3查看 1.3K关注 0票数 0

我正在尝试创建一个屏幕,其中有一个网址需要输入的EditText和一个Verify按钮,这将突出显示时,一个有效的网址输入。

我想知道判断输入的url是否有效的逻辑是什么?我应该在编辑文本中查找.com字符串,还是有其他逻辑?以及如何在用户输入字符时获取文本,以便在输入有效的url时突出显示按钮。

提前谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-10-25 02:05:43

  1. Url验证:在用户输入有效的URL时启用按钮的Regular expression to match URLs in Java
  2. How:

让我们猜猜您的EditText具有txt_url id:

代码语言:javascript
复制
EditText editText = (EditText) findViewById(R.id.txt_url);
editText.addTextChangedListener(new TextWatcher() {
    @Override
    public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
    }

    @Override
    public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
    }

    @Override
    public void afterTextChanged(Editable editable) {
        // lets supouse validation method is called validUrl()
        button.setEnabled(validUrl(editable.toString()));
    }
});
票数 4
EN

Stack Overflow用户

发布于 2011-10-25 02:04:43

试试这个:

代码语言:javascript
复制
UrlValidator validator = new UrlValidator();
validator.validate(url);

我认为validator.validate是一个布尔值,但我不确定...

这样,您就可以创建并调用该按钮的setVisible(true/false)

票数 1
EN

Stack Overflow用户

发布于 2011-10-25 02:06:26

您可以尝试创建一个URL对象并捕获MalformedURLException,如下所示:

代码语言:javascript
复制
    editText.addTextChangedListener(new TextWatcher() {  
        @Override
        public void afterTextChanged(Editable s) {
            try {
                URL url = new URL(String.valueOf(s));
                // code to show verify button here
            } catch (MalformedURLException e) {
                // show not verified here
            }
        }
    });
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7879744

复制
相关文章

相似问题

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