【解决方案】火山安卓编辑框禁止输入中文
这个也比较简单,结合内容被改变事件和正则表达式就可以轻松实现。
<火山程序 类型 = "通常" 版本 = 1 />
变量 编辑框1 <类型 = 编辑框 隐藏值属性 = "0" @安卓.窗口.布局 = "p_layout_width_type = match_parent" 支持内容改变监听 = 真>
方法 编辑框_内容被改变时 <接收事件 类型 = 整数 注释 = "需要设置\"支持内容改变监听=真\"本事件才会触发.">
参数 来源对象 <类型 = 编辑框 注释 = "提供事件产生的具体来源对象">
参数 标记值 <类型 = 整数 注释 = "用户调用\"挂接事件\"命令时所提供的\"标记值\"参数值,非此方式挂接事件则本参数值固定为0.">
参数 新增内容 <类型 = 文本型 注释 = "提供新增的内容">
参数 发生变化位置 <类型 = 整数>
参数 变化前的字符数 <类型 = 整数>
参数 变化的字符数 <类型 = 整数>
{
如果 (来源对象 == 编辑框1)
{
如果 (正则表达式类.是否完全匹配 ("[\u4e00-\u9fa5]", 新增内容))
{
来源对象.内容 = 变化前内容
来源对象.光标位置 = 发生变化位置
}
}
返回 (0)
}
变量 变化前内容 <类型 = 文本型>
方法 编辑框_内容被改变前 <接收事件 类型 = 整数 注释 = "需要设置\"支持内容改变监听=真\"本事件才会触发.">
参数 来源对象 <类型 = 编辑框 注释 = "提供事件产生的具体来源对象">
参数 标记值 <类型 = 整数 注释 = "用户调用\"挂接事件\"命令时所提供的\"标记值\"参数值,非此方式挂接事件则本参数值固定为0.">
参数 当前文本 <类型 = 文本型>
参数 文本变化位置 <类型 = 整数>
参数 变化的字符数 <类型 = 整数>
参数 变化后字符数 <类型 = 整数>
{
如果 (来源对象 == 编辑框1)
{
变化前内容 = 当前文本
}
返回 (0)
}
有漏洞,输入法一起输出两个及两个中文以上的没法禁止 而且字母和各种标题符号都可以写入,视窗可以选择只输入小数,为什么安卓不可以呢? 叶枯藤 发表于 2026-1-10 14:24
而且字母和各种标题符号都可以写入,视窗可以选择只输入小数,为什么安卓不可以呢? ...
因为功能不一样啊。。安卓并没有内置禁止输入的功能。 叶枯藤 发表于 2026-1-10 14:24
而且字母和各种标题符号都可以写入,视窗可以选择只输入小数,为什么安卓不可以呢? ...
自己根据这个代码原理,自己进行过滤。 叶枯藤 发表于 2026-1-10 14:23
有漏洞,输入法一起输出两个及两个中文以上的没法禁止
弄个哈希表来存储 变化前内容 ,自己想办法处理一下就行了。
页:
[1]