重命名T,输入字符到一定数量时,会提示最大输入字符数和已输入字符数,但是从英语切换到阿拉伯语,可输入字符从11个变为5个,输入到5个时已无法再输入,但是却没有提示。
来源:互联网 发布:涉电信网络诈骗案件 编辑:程序博客网 时间:2024/06/03 16:17
原因是从英语切换到阿拉伯语,可输入字符从11个变为5,但是在file name editor那边去没有转换过来,仍然仍未可输入11个字符,达不到显示最大可输入字符数和已输入字符数的条件(输入长度超过可输入最大长度的一半),请尝试修改如下:
修改gui_input.c中gui_multi_line_input_box_insert_character_internal(),
将 if ((b_flags & UI_MULTI_LINE_INPUT_BOX_USE_ENCODING_BASED_LENGTH) && (b->UCS2_count == 0) &&
UI_TEST_UCS2_CHARACTER(c))
{
if ((b_flags & UI_MULTI_LINE_INPUT_BOX_ONE_LESS_CHARACTER) &&
(text_length >= UI_UCS2_STRING_HALF_LENGTH_MINUS_ONE(b->available_length)))
{
UI_editor_play_tone_cannot_insert(); /* play error tone */
return MMI_FALSE;
}
if ((b_flags & UI_MULTI_LINE_INPUT_BOX_FORTY_FOUR_LESS_CHARACTER) &&
(text_length >= UI_UCS2_STRING_HALF_LENGTH_MINUS_FORTYFOUR(b->available_length)))
{
UI_editor_play_tone_cannot_insert(); /* play error tone */
return MMI_FALSE;
}
else if (text_length >= UI_UCS2_STRING_HALF_LENGTH(b->available_length))
{
UI_editor_play_tone_cannot_insert(); /* play eror tone */
return MMI_FALSE;
}
}修改为:
if ((b_flags & UI_MULTI_LINE_INPUT_BOX_USE_ENCODING_BASED_LENGTH) && (b->UCS2_count == 0) &&
UI_TEST_UCS2_CHARACTER(c))
{
if ((b_flags & UI_MULTI_LINE_INPUT_BOX_ONE_LESS_CHARACTER) &&
(text_length >= UI_UCS2_STRING_HALF_LENGTH_MINUS_ONE(b->available_length)))
{
UI_editor_play_tone_cannot_insert(); /* play error tone */
return MMI_FALSE;
}
if ((b_flags & UI_MULTI_LINE_INPUT_BOX_FORTY_FOUR_LESS_CHARACTER) &&
(text_length >= UI_UCS2_STRING_HALF_LENGTH_MINUS_FORTYFOUR(b->available_length)))
{
UI_editor_play_tone_cannot_insert(); /* play error tone */
return MMI_FALSE;
}
else if (text_length >= UI_UCS2_STRING_HALF_LENGTH(b->available_length))
{
UI_editor_play_tone_cannot_insert(); /* play eror tone */
UI_TEST_UCS2_INCREMENT_COUNT_SET_LENGTH(c, b->UCS2_count, b->allocated_length, b->available_length);
b->UCS2_count = 0;
return MMI_FALSE;
}
}
if ((b_flags & UI_MULTI_LINE_INPUT_BOX_USE_ENCODING_BASED_LENGTH) && (b->UCS2_count == 0) &&
UI_TEST_ASCII_CHARACTER(c))
{
b->available_length = b->allocated_length;
}
修改gui_input.c中gui_multi_line_input_box_insert_character_internal(),
将 if ((b_flags & UI_MULTI_LINE_INPUT_BOX_USE_ENCODING_BASED_LENGTH) && (b->UCS2_count == 0) &&
UI_TEST_UCS2_CHARACTER(c))
{
if ((b_flags & UI_MULTI_LINE_INPUT_BOX_ONE_LESS_CHARACTER) &&
(text_length >= UI_UCS2_STRING_HALF_LENGTH_MINUS_ONE(b->available_length)))
{
UI_editor_play_tone_cannot_insert(); /* play error tone */
return MMI_FALSE;
}
if ((b_flags & UI_MULTI_LINE_INPUT_BOX_FORTY_FOUR_LESS_CHARACTER) &&
(text_length >= UI_UCS2_STRING_HALF_LENGTH_MINUS_FORTYFOUR(b->available_length)))
{
UI_editor_play_tone_cannot_insert(); /* play error tone */
return MMI_FALSE;
}
else if (text_length >= UI_UCS2_STRING_HALF_LENGTH(b->available_length))
{
UI_editor_play_tone_cannot_insert(); /* play eror tone */
return MMI_FALSE;
}
}修改为:
if ((b_flags & UI_MULTI_LINE_INPUT_BOX_USE_ENCODING_BASED_LENGTH) && (b->UCS2_count == 0) &&
UI_TEST_UCS2_CHARACTER(c))
{
if ((b_flags & UI_MULTI_LINE_INPUT_BOX_ONE_LESS_CHARACTER) &&
(text_length >= UI_UCS2_STRING_HALF_LENGTH_MINUS_ONE(b->available_length)))
{
UI_editor_play_tone_cannot_insert(); /* play error tone */
return MMI_FALSE;
}
if ((b_flags & UI_MULTI_LINE_INPUT_BOX_FORTY_FOUR_LESS_CHARACTER) &&
(text_length >= UI_UCS2_STRING_HALF_LENGTH_MINUS_FORTYFOUR(b->available_length)))
{
UI_editor_play_tone_cannot_insert(); /* play error tone */
return MMI_FALSE;
}
else if (text_length >= UI_UCS2_STRING_HALF_LENGTH(b->available_length))
{
UI_editor_play_tone_cannot_insert(); /* play eror tone */
UI_TEST_UCS2_INCREMENT_COUNT_SET_LENGTH(c, b->UCS2_count, b->allocated_length, b->available_length);
b->UCS2_count = 0;
return MMI_FALSE;
}
}
if ((b_flags & UI_MULTI_LINE_INPUT_BOX_USE_ENCODING_BASED_LENGTH) && (b->UCS2_count == 0) &&
UI_TEST_ASCII_CHARACTER(c))
{
b->available_length = b->allocated_length;
}
- 重命名T,输入字符到一定数量时,会提示最大输入字符数和已输入字符数,但是从英语切换到阿拉伯语,可输入字符从11个变为5个,输入到5个时已无法再输入,但是却没有提示。
- 输入法的字符输入------InputConnection桥梁实现字符从输入法的字符输入到view显示
- 输入多个字符
- EditText限制输入字符类型和限制输入字符数
- 限制editext输入的字符数不超过140个字符
- checkText输入框可输入字符个数提示
- Android 输入框限制字符输入数
- android 限制edittext 最大输入字符数
- 输入字符
- 限制Input输入框输入最小最大字符数
- 显示还可输入多少个字符
- 计算输入的字符数
- 限制输入框字符数
- EditText输入字符数控制
- IE地址栏可输入的最大字符数
- IE地址栏可输入的最大字符数
- ANDROID 设置edittext最大可输入字符数
- 提示用户输入一个数,试用个字符模拟七段显示器效果
- 利用预编译并通过Jni调用Android的Java层代码(cocos2dx里访问调用Android函数)!
- ios layer的一些学习
- linux内核模块编程
- SQL行列转换(1)
- jquery Ajax 返回JSON报错: org.apache.struts2.json.JSONException: java.lang.reflect.InvocationTargetExce
- 重命名T,输入字符到一定数量时,会提示最大输入字符数和已输入字符数,但是从英语切换到阿拉伯语,可输入字符从11个变为5个,输入到5个时已无法再输入,但是却没有提示。
- 想要成为游戏开发者?他们不会告诉你这些
- SQL行列转换(2)
- memory 配置中有给用户盘预留空间,格式化以后却显示用户盘空间为0
- Android 边用边学 之 Android网络连接判断与处理
- T卡无法重命名
- SAF 中缓存服务的实现
- 重命名T卡时,小写字母全部变为大写
- linux下MYSQL乱码