在本文中,我们将在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) {
}
});
}
}
输出: