📌  相关文章
📜  如何在Android EditText中设置URL限制?

📅  最后修改于: 2021-05-09 18:02:31             🧑  作者: Mango

在本文中,我们将在EditText中为URL设置限制。每当我们创建任何表单并希望获得用户的投资组合网站时,或者即使我们希望限制用户编写唯一的URL,也可以使用此功能。这使用户能够仅写URL。

实施

步骤1:创建一个新项目

要在Android Studio中创建新项目,请参阅如何在Android Studio中创建/启动新项目。请注意,选择Java作为编程语言。

步骤2:使用activity_main.xml文件

导航到应用程序> res>布局> activity_main.xml,然后将以下代码添加到该文件中。以下是activity_main.xml文件的代码。我们将在此文件中创建一个简单的EditText。

XML


  
    
  


Java
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.util.Patterns;
import android.widget.EditText;
import android.widget.Toast;
  
import androidx.appcompat.app.AppCompatActivity;
  
public class MainActivity extends AppCompatActivity {
  
    EditText addurl;
  
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        addurl = findViewById(R.id.aurl);
          
        // when we add text in the edit text 
        // it will check for the pattern of text
        addurl.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
  
            }
  
            // whenever text size changes it will check
            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {
                // if text written matches the pattern then
                // it will show a toast of pattern matches
                if (Patterns.WEB_URL.matcher(addurl.getText().toString()).matches()) {
                    Toast.makeText(MainActivity.this, "Pattern Matches", Toast.LENGTH_SHORT).show();
                } else {
                    // otherwise show error of invalid url
                    addurl.setError("Invalid Url");
                }
            }
  
            @Override
            public void afterTextChanged(Editable s) {
  
            }
        });
    }
}


步骤3:使用MainActivity。 Java文件

转到MainActivity。 Java文件并参考以下代码。下面是MainActivity的代码。 Java文件。在代码内部添加了注释,以更详细地了解代码。

Java

import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.util.Patterns;
import android.widget.EditText;
import android.widget.Toast;
  
import androidx.appcompat.app.AppCompatActivity;
  
public class MainActivity extends AppCompatActivity {
  
    EditText addurl;
  
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        addurl = findViewById(R.id.aurl);
          
        // when we add text in the edit text 
        // it will check for the pattern of text
        addurl.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
  
            }
  
            // whenever text size changes it will check
            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {
                // if text written matches the pattern then
                // it will show a toast of pattern matches
                if (Patterns.WEB_URL.matcher(addurl.getText().toString()).matches()) {
                    Toast.makeText(MainActivity.this, "Pattern Matches", Toast.LENGTH_SHORT).show();
                } else {
                    // otherwise show error of invalid url
                    addurl.setError("Invalid Url");
                }
            }
  
            @Override
            public void afterTextChanged(Editable s) {
  
            }
        });
    }
}

输出: