这是我的editText代码;
<EditText
android:id="@+id/userNameET"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:gravity="center"
android:hint="@string/login_email_mobile"
android:imeOptions="actionNext"
android:inputType="textEmailAddress|number"
android:padding="10dp"
android:singleLine="true"
android:textColor="@color/colorPrimary"
android:textColorHint="@color/colorPrimary" />
我正在验证这个,
if (!validateEmail(userNameValue) || !validateMobile(userNameValue)) {
return;
}
我已将inputType
视为:android:inputType="textEmailAddress|number"
。但它始终显示手机号码键盘。但是我需要访问它们。我怎么能这样做?
答案 0 :(得分:0)
我认为你不能这样做,因为键盘将始终显示数字输入
所以,答案是使用2个编辑文本.....
答案 1 :(得分:0)
你必须设置android:inputType =&#34; text&#34;因为一次两个键盘类型都无法工作。
答案 2 :(得分:0)
如果您使用Facebook登录,则应该是电子邮件或移动设备。 并删除 android:inputType =“textEmailAddress | number”而不是使用 android:inputType =“text”
尝试电子邮件
boolean isEmailValid(CharSequence email) {
return android.util.Patterns.EMAIL_ADDRESS.matcher(email).matches();
}
如果您的Edittext值返回true而不是其电子邮件或其他手机号码
答案 3 :(得分:0)
我建议将textVisiblePassword | textNoSuggestions作为inputType。它为您提供了普通的键盘,并且还可以选择显示数字。
答案 4 :(得分:0)
<强>的EditText 强>
使用数字用户不能使用“#$%^ *&amp;”
等特殊字符<EditText
android:id="@+id/userNameET"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:digits="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz@."
android:gravity="center"
android:imeOptions="actionNext"
android:padding="10dp"
android:singleLine="true"
android:textColor="@color/colorPrimary"
android:textColorHint="@color/colorPrimary" />
<强> onClickListener 强>
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (!checkEMailValidation(edtMobileEmail)) {
Log.e("Validation", "Email not entered properly");
if (!checkMobileNumberValidation(edtMobileEmail)) {
Log.e("Validation", "Mobile number not entered properly");
} else {
Log.e("Validation", "Mobile number entered properly");
}
return;
} else {
Log.e("Validation", "Email entered properly");
return;
}
}
});
电子邮件方法&amp;编号验证
public static boolean checkEMailValidation(EditText editText) {
if (!Patterns.EMAIL_ADDRESS.matcher(editText.getText().toString().trim()).matches()) {
Log.e("EMailValidation", "false");
return false;
} else {
Log.e("EMailValidation", "true");
return true;
}
}
public static boolean checkMobileNumberValidation(EditText cellphone) {
if (cellphone.getText().toString().trim().length() <= 10) {
Log.e("MobileNumberValidation", "false");
return false;
} else {
Log.e("MobileNumberValidation", "true");
return true;
}
}