androidの编辑联系人,姓名颠倒bug

解bug时,碰到在sim或是在本机中新建联系人,一种情况是名称为数字时,若数字中间加空格后保存,

联系人姓名显示就会颠倒过来 .android2.3

【预置条件】无
【操作步骤】联系人--添加联系人--姓名栏内输入数字--空格--继续输入数字--保存--查看
【实际结果】空格后输入的数字显示在空格前输入的数字的前面
【预期结果】应空格前输入的数字显示在前面
例:输入时(2222空格3333) 保存后显示(33332222)

原因:名字为数字并且有空格时,按照英文格式存储,就会出现倒置,存储方式是:名 姓,

解决办法:针对(android2.3) 4.0以上没仔细看是否这样的,

文件路径:packages/providers/ContactsProvider/src/com/android/providers/contacts/NameSplitter.java
其中有一个guessFullNameStyle() (类中两个同名称方法,很好辨别)

if (Character.isLetter(codePoint)) 换为

if (Character.isLetterOrDigit(codePoint)) ,即方法改下Character.isLetterOrDigit()

*******************************************************************************************************************************************************************

Character.isLetterOrDigit(int codePoint)

方法描述:

java.lang.Character.isLetterOrDigit(int codePoint) 确定指定字符(Unicode代码点)是一个字母或数字。

被认为是一个字符是字母或数字,如果任isLetter(代码点)或isDigit的字符(代码点)返回true。
声明

以下是java.lang.Character.isLetterOrDigit()方法的声明

public static boolean isLetterOrDigit(int codePoint)

参数

codePoint - the character (Unicode code point) to be tested

返回值

此方法返回true,如果字符是字母或数字,否则返回false。
异常

NA

实例

下面的例子说明了如何使用lang.Character.isLetterOrDigit()方法。

package com.yiibai;

import java.lang.*;

public class CharacterDemo {

public static void main(String[] args) {

// create 2 int primitives cp1, cp2
int cp1, cp2;

// assign values to cp1, cp2
cp1 = 0x0033;
cp2 = 0x012b23;

// create 2 boolean primitives b1, b2
boolean b1, b2;

/**
* check if cp1, cp2 represents letter/digit and
* assign results to b1, b2
*/
b1 = Character.isLetterOrDigit(cp1);
b2 = Character.isLetterOrDigit(cp2);

String str1 = "cp1 represents a letter/digit is " + b1;
String str2 = "cp2 represents a letter/digit is " + b2;

// print b1, b2 values
System.out.println( str1 );
System.out.println( str2 );
}
}

产生结果:

cp1 represents a letter/digit is true
cp2 represents a letter/digit is false

更多相关文章

  1. 最强理解:Android对EditText输入时设置监听即TextWatcher的用法
  2. Android:将电脑上的文件传输到模拟器的sdcard上
  3. Android(安卓)Things:用户驱动-输入驱动
  4. android Studio keytool' 不是内部或外部命令,也不是可运行的程序
  5. Android(安卓)小应用 - "Smart Help" 之模块介绍
  6. android 自定义输入法研究
  7. android 输入法联想问题
  8. EditText输入框的长度调整
  9. Android:常用知识篇之 EditText和输入法相关的问题

随机推荐

  1. Android开发过程中框架是如何搭建的呢
  2. Android静态注册广播和动态注册广播的区
  3. Android自定义适配器---实现简单文件管理
  4. 2020风口浪尖上谁能吃第一波红利,弃Java转
  5. Android(安卓)7.0 Service保活总结
  6. Ice Cream Sandwich 已非正式移植於 Nexu
  7. 如何在最新 Android(安卓)Google Maps Ap
  8. (安卓/android)应用层绕过HAL调用驱动
  9. 开始学习Android的日子。。
  10. Android(安卓)jni/ndk编程一:jni初级认识