2 u011440528 u011440528 于 2015.06.01 22:01 提问

android EditText多行显示时如何限制每行的字数

我要用EditText输入多个帐号用来统计,帐号的长度是一定的(10位数字),
我想要在输入9个数字以后自动加入一个换行符,而且粘贴的时候也要可以自动加
比如粘贴板有一行文本是1234567890987654321,当粘贴到EditText里的时候可以自动变成

1234567890
987654321

3个回答

hikyson
hikyson   2015.06.08 13:59

监听edittext中输入的内容,使用textwatcher
如果输入=10就插入一个换行符\n,并记录一下帐号。

j550341130
j550341130   2015.06.02 14:27

在xml文件中的控件属性中添加这一条:android:maxLength="10",不要添加 android:singleLine="true"

j550341130
j550341130 回复何方科技: 为什么?每一行都是单独的一个账号啊
2 年多之前 回复
u011440528
u011440528 可是这样一次就只能输入一个帐号了
2 年多之前 回复
91program
91program   Ds   Rxr 2015.06.02 07:35

标准的 EditText 控件肯定是没有你想要的这样的功能的,所以你只能自己定制控件来实现。
再者,为什么是变成

 1234567890
987654321

而不是

 123456789
 0987654321

这两组账号都是合法的吧!这样的逻辑,只有你自己知道,所以不可能用标准的控件来实现的。

u011440528
u011440528 因为帐号是10位的,就从前面的开始截取了,我知道加一个TextChangedListener可以弄,但这个逻辑怎么写我有点迷糊
2 年多之前 回复
91program
91program 如果一定要用 EditText 控件,可以考虑监测其内容是否有变化?如果有,在后台对变化的内容进行格式(先获取其内容转成你想要的),然后再显示。
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片