手机号EditText录入344控制

手机号 3-4-4控制

package com.gx_school.util;
import com.gx_school.activity.ArriveActivity;
import android.content.Context;
import android.text.Editable;
import android.text.TextWatcher;
import android.util.Log;
import android.widget.EditText;
public class EditTextWatcher{
private Context mContext;
public EditTextWatcher(Context context){
mContext = context;
}
/**
 * 限制输入小数点后两位
 * @param editText
 */
public void setPricePoint(final EditText editText) {
editText.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
String str = s.toString();
if(str.length() > 13){
str = str.substring(0, 13);
Log.v("result", str);
editText.setText(str);
editText.setSelection(13);
return;
}
if((str.length() == 3 || str.length() == 8) && str.charAt(str.length() - 1) != ‘-‘ && before < count){
str += "-";
editText.setText(str);
editText.setSelection(str.length());
return;
}
//删除时去掉横线
if((str.length() == 3 || str.length() == 8) && str.charAt(str.length() - 1) != ‘-‘ && before > count){
str = str.substring(0, str.length() - 1);
editText.setText(str);
editText.setSelection(str.length());
return;
}
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
Log.v("result", "beforeTextChanged   " + s.toString());
}
@Override
public void afterTextChanged(Editable s) {
Log.v("result", "afterTextChanged   " + s.toString());
}
});
}
/**
 * 限制输入的长度
 * @param editText
 * @param len
 */
public void setEditLength(final EditText editText, final int len) {
editText.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
if(s.toString().length() > len){
String str = s.toString().subSequence(0, len).toString();
editText.setText(str);
editText.setSelection(str.length());
}
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
}
});
}
}

引用

phoneNum = (EditText) findViewById(R.id.et_arriver_phoneNumber);

new EditTextWatcher(ArriveActivity.this).setPricePoint(phoneNum);

时间: 2024-08-02 06:37:41

手机号EditText录入344控制的相关文章

输入框,手机号输入,344格式(jQuery和Vue)

一.jquery function fomatterTel(val, old) {//val: 当前input的值,old: input上次的值 var str = ""; var telLen = val.length; if (old.length <= telLen) { if (telLen === 4 || telLen === 9) { var pre = val.substring(0, telLen-1); var last = val.substr(telLen

Android Edittext 显示光标 获取焦点 监听焦点

Edittext java 代码控制获取焦点 EditText mEditText = (EditText) findViewById(R.id.et); mEditText.setFocusable(true); mEditText.setFocusableInTouchMode(true); 显示光标 mEditText.requestFocus();//获取焦点 光标出现 监听EditText焦点变化 当获取焦点后 hasFocus 为true mEditText.setOnFocusCh

GridLayout自定义数字键盘(两个EditText)

功能说明: 适用于两个EditText输入框,并控制输入字符的长度,点击键盘中的"确定"按钮完成输入,点击"前一项"光标跳到前一个EditText 运行效果图如下: 布局文件 1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/androi

最新最全的 Android 开源项目合集

原文链接:https://github.com/opendigg/awesome-github-android-ui 在 Github 上做了一个很新的 Android 开发相关开源项目汇总,涉及到 Android 开发的方方面面,基本很全了.对 Android 开发感兴趣的欢迎 Star ,后续也会定期维护更新这个列表.当然,你也可以去 opendigg 上查看. -- 由欧戈分享 awesome-github-android-ui 是由OpenDigg整理并维护的安卓UI相关开源项目库集合.

Android UI相关开源项目库汇总

最近做了一个Android UI相关开源项目库汇总,里面集合了OpenDigg 上的优质的Android开源项目库,方便移动开发人员便捷的找到自己需要的项目工具等,感兴趣的可以到GitHub上给个star. 抽屉菜单 MaterialDrawer ★7337 - 安卓抽屉效果实现方案 Side-Menu.Android ★3865 - 创意边侧菜单 FlowingDrawer ★1744 - 向右滑动流动抽屉效果 SlidingRootNav ★1338 - 仿DrawerLayout的View

android 练习之路 (三)

项目的github地址:https://github.com/Qunter/SearchAndCall ------------------------------------------------------------------------ 今天开始实现登录和注册的功能 先贴最终效果吧 PS:其实最后那一下,按照代码逻辑是不会返回到登录页面的,此处会返回应该是我没有删除之前的程序,所以在测试的时候就没有覆盖掉这些,所以导致这个finish代码没有执行 下面开始操作: 首先按照官网给的提示

Android开发之动态添加控件

动态添加TextView控件: 一:创建一个Android project项目 activity_main.xml文件: 1.用两个LinearLayout布局分别包裹一对TextView,EditText控件,将orientation设置为水平方向,EditText的hint属性可以实现水印效果,两个EditText用来控制显示(TextView控件数量)的行和列. 2. 用一个LinearLayout布局包裹Button按钮,在EditText控件输入完后,点击button按钮,就会自动生成

Android---23---发送短信

SmsManager:管理短信操作 通过调用静态方法 SmsManager.getDefault() 获取此对象. SmsManager 方法摘要 boolean copyMessageToSim(byte[] smsc, byte[] pdu, int status) Copy a raw SMS PDU to the SIM. boolean deleteMessageFromSim(int messageIndex) Delete the specified message from th

简易发短信

一.AndroidManifest.xml 获取发短信权限 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="xidian.dy.com.chujia"> <application android:allowBack