2 woxingjiangh woxingjiangh 于 2014.08.21 16:48 提问

Android textview的选择复制功能。设置setTextIsSelectable不好用是为什么?

Android的textview上想做个选择文字复制的功能,百度了一下,
可以设置setTextIsSelectable为true,
可是在小米手机上可用,到了三星手机上就不可以。
求大神解答。

5个回答

qq_25024863
qq_25024863   2015.06.23 15:15
已采纳

从android sdk 11起google添加了新api,TextIsSelectable控制TextView是否支持拷贝、粘帖功能,不过这个功能在v11以下则不那么好彩了。
查阅TextView源码发现setTextIsSelectable实际调用的是Editor类的相应方法,而Editor里面控制了拷贝、粘帖功能。顺藤摸瓜通过反射获取到mEditor变量再调用setTextIsSelectable里调用的方法,调出拷贝、粘帖功能。似乎这是个很好的方法。不过很遗憾在系统为4.x的不同设备里测试发现都不成功,不是没有mEditor变量就是mEditor返回null。看来这个Editor在不同的厂商也有不同的实现,google也把这个类标为hide。

zengjitai
zengjitai   2016.07.03 08:24

TextIsSelectable,我设置为true时点击屏幕两次才会有复制功能,而且还会弹出软键盘,

oSanYeCao1234567
oSanYeCao1234567   Ds   Rxr 2016.07.28 14:28

现在国内的各个手机厂商都对Android做了深度的定制,导致原生的方法在很多手机上不生效

cryeye123
cryeye123   2017.03.13 09:06

不知道现在这个问题有解决方法没?我也遇到这个问题了

Moing557
Moing557   2017.10.19 14:45

最要命的问题是。设置这个属性之后,如果还有设置点击事件,那么每次都要点击2次才能响应。点击一次是没有反应的。。。找了好久才发现!!!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!