Android中EditView输入电话号码(3+4+4格式)

2023-10-30 21:59

本文主要是介绍Android中EditView输入电话号码(3+4+4格式),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


       效果如上图(支持删除自动删除空格):    支持根据国家编码显示 中国   3+4+4   美国   3+3+4


                    主要代码如下:

  public void onTextChanged(CharSequence s, int start, int before, int count) {
    String contents = s.toString();
int length = contents.length();
String code = mTvCountryCode.getText().toString();
// 根据语言进行检验
if ((code.equals("+86"))|| !isChangeLanguage && language.startsWith("zh")) {         // 86代表中国
if(length == 4){
if(contents.substring(3).equals(" ")){ // -
contents = contents.substring(0, 3);
mEdPhoneNum.setText(contents);
mEdPhoneNum.setSelection(contents.length());
} else { // +
contents = contents.substring(0, 3) + " " + contents.substring(3);
mEdPhoneNum.setText(contents);
mEdPhoneNum.setSelection(contents.length());
}
}
else if(length == 9){
if(contents.substring(8).equals(" ")){ // -
contents = contents.substring(0, 8);
mEdPhoneNum.setText(contents);
mEdPhoneNum.setSelection(contents.length());
} else {// +
contents = contents.substring(0, 8) + " " + contents.substring(8);
mEdPhoneNum.setText(contents);
mEdPhoneNum.setSelection(contents.length());
}
}
    } else if ((code.equals("+1")) || !isChangeLanguage && language.startsWith("en")) {  // 1代表美国
    if(length == 4){
if(contents.substring(3).equals(" ")){ // -
contents = contents.substring(0, 3);
mEdPhoneNum.setText(contents);
mEdPhoneNum.setSelection(contents.length());
} else { // +
contents = contents.substring(0, 3) + " " + contents.substring(3);
mEdPhoneNum.setText(contents);
mEdPhoneNum.setSelection(contents.length());
}
}
else if(length == 8){
if(contents.substring(7).equals(" ")){ // -
contents = contents.substring(0, 7);
mEdPhoneNum.setText(contents);
mEdPhoneNum.setSelection(contents.length());
} else {// +
contents = contents.substring(0, 7) + " " + contents.substring(7);
mEdPhoneNum.setText(contents);
mEdPhoneNum.setSelection(contents.length());
}
}
    }



   }

            

          article author: 林永真

          Email:linyongzhenok@126.com   412176346@qq.com

          


这篇关于Android中EditView输入电话号码(3+4+4格式)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/310842

相关文章

C++ 函数 strftime 和时间格式示例详解

《C++函数strftime和时间格式示例详解》strftime是C/C++标准库中用于格式化日期和时间的函数,定义在ctime头文件中,它将tm结构体中的时间信息转换为指定格式的字符串,是处理... 目录C++ 函数 strftipythonme 详解一、函数原型二、功能描述三、格式字符串说明四、返回值五

C#实现将Office文档(Word/Excel/PDF/PPT)转为Markdown格式

《C#实现将Office文档(Word/Excel/PDF/PPT)转为Markdown格式》Markdown凭借简洁的语法、优良的可读性,以及对版本控制系统的高度兼容性,逐渐成为最受欢迎的文档格式... 目录为什么要将文档转换为 Markdown 格式使用工具将 Word 文档转换为 Markdown(.

Java中JSON格式反序列化为Map且保证存取顺序一致的问题

《Java中JSON格式反序列化为Map且保证存取顺序一致的问题》:本文主要介绍Java中JSON格式反序列化为Map且保证存取顺序一致的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未... 目录背景问题解决方法总结背景做项目涉及两个微服务之间传数据时,需要提供方将Map类型的数据序列化为co

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

Python使用pynput模拟实现键盘自动输入工具

《Python使用pynput模拟实现键盘自动输入工具》在日常办公和软件开发中,我们经常需要处理大量重复的文本输入工作,所以本文就来和大家介绍一款使用Python的PyQt5库结合pynput键盘控制... 目录概述:当自动化遇上可视化功能全景图核心功能矩阵技术栈深度效果展示使用教程四步操作指南核心代码解析

Ubuntu上手动安装Go环境并解决“可执行文件格式错误”问题

《Ubuntu上手动安装Go环境并解决“可执行文件格式错误”问题》:本文主要介绍Ubuntu上手动安装Go环境并解决“可执行文件格式错误”问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未... 目录一、前言二、系统架构检测三、卸载旧版 Go四、下载并安装正确版本五、配置环境变量六、验证安装七、常见

Android NDK版本迭代与FFmpeg交叉编译完全指南

《AndroidNDK版本迭代与FFmpeg交叉编译完全指南》在Android开发中,使用NDK进行原生代码开发是一项常见需求,特别是当我们需要集成FFmpeg这样的多媒体处理库时,本文将深入分析A... 目录一、android NDK版本迭代分界线二、FFmpeg交叉编译关键注意事项三、完整编译脚本示例四

Android与iOS设备MAC地址生成原理及Java实现详解

《Android与iOS设备MAC地址生成原理及Java实现详解》在无线网络通信中,MAC(MediaAccessControl)地址是设备的唯一网络标识符,本文主要介绍了Android与iOS设备M... 目录引言1. MAC地址基础1.1 MAC地址的组成1.2 MAC地址的分类2. android与I

Android 实现一个隐私弹窗功能

《Android实现一个隐私弹窗功能》:本文主要介绍Android实现一个隐私弹窗功能,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 效果图如下:1. 设置同意、退出、点击用户协议、点击隐私协议的函数参数2. 《用户协议》、《隐私政策》设置成可点击的,且颜色要区分出来res/l

使用Python开发Markdown兼容公式格式转换工具

《使用Python开发Markdown兼容公式格式转换工具》在技术写作中我们经常遇到公式格式问题,例如MathML无法显示,LaTeX格式错乱等,所以本文我们将使用Python开发Markdown兼容... 目录一、工具背景二、环境配置(Windows 10/11)1. 创建conda环境2. 获取XSLT