Android编程之EditText常见操作示例
程序员文章站
2023-12-16 20:45:10
本文实例讲述了android编程之edittext常见操作。分享给大家供大家参考,具体如下:
1.获取光标选中的文字
edittext view = (edit...
本文实例讲述了android编程之edittext常见操作。分享给大家供大家参考,具体如下:
1.获取光标选中的文字
edittext view = (edittext)findviewbyid(r.id.edt); int start = view.getselectionstart(); int end = view.getselectionend(); //由于选择的位置和你开始选择文字的顺序有关,所以最好重新判断整理一下顺序,免得出错 if (start>end) { start = start + end ; end = start - end; start = start - end; } string sub = view .gettext() .tostring().substring(start, end);
2.设置光标在输入框的位置
在编写应用的时候,如果我们要将光标定位到某个位置,可以采用下面的方法:
charsequence text = edittext.gettext(); //debug.asserts(text instanceof spannable); if (text instanceof spannable) { spannable spantext = (spannable)text; selection.setselection(spantext, text.length()); }
其中的代码text.length()
为你想要设置的位置,此处是设置到文本末尾。
3 在指定位置插入字符串
public class edittextcopyactivity extends activity { /** called when the activity is first created. */ private edittext et1 ,et2,et3,et4,et5,et6,et7; private button bt1,bt2,bt3; private clipboardmanager clip ; @override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); initviews(); bt1.setonclicklistener(new onclicklistener() { @override public void onclick(view v) { view view = getcurrentfocus(); if (view instanceof edittext) { edittext et = (edittext)view; int start = et.getselectionstart(); int end = et.getselectionend(); if (start>end) { start = start + end ; end = start - end; start = start - end; } string sub = et.gettext().tostring().substring(start, end); clip.settext(sub); } } }); bt2.setonclicklistener(new onclicklistener() { @override public void onclick(view v) { view view = getcurrentfocus(); if (view instanceof edittext) { edittext et = (edittext)view; int start = et.getselectionstart(); system.out.println(start+"--------------"); string s = clip.gettext().tostring(); et.gettext().insert(start,s); } } }); bt3.setonclicklistener(new onclicklistener() { @override public void onclick(view v) { view view = getcurrentfocus(); if (view instanceof edittext) { edittext et = (edittext)view; int start = et.getselectionstart(); int end = et.getselectionend(); if (start>end) { start = start + end ; end = start - end; start = start - end; } string sub = et.gettext().tostring().substring(start, end); et.gettext().delete(start, end); clip.settext(sub); } } }); } private void initviews(){ et1 = (edittext)this.findviewbyid(r.id.edittext1); et2 =(edittext)this.findviewbyid(r.id.edittext2); et3 =(edittext)this.findviewbyid(r.id.edittext3); et4 =(edittext)this.findviewbyid(r.id.edittext4); et5 =(edittext)this.findviewbyid(r.id.edittext5); et6 =(edittext)this.findviewbyid(r.id.edittext6); clip = (clipboardmanager)getsystemservice(clipboard_service); bt1=(button)this.findviewbyid(r.id.button1); bt2 = (button)this.findviewbyid(r.id.button2); bt3 = (button)this.findviewbyid(r.id.button3); } }
更多关于android相关内容感兴趣的读者可查看本站专题:《android开发入门与进阶教程》、《android视图view技巧总结》、《android编程之activity操作技巧总结》、《android操作sqlite数据库技巧总结》、《android操作json格式数据技巧总结》、《android数据库操作技巧总结》、《android文件操作技巧汇总》、《android编程开发之sd卡操作方法汇总》、《android资源操作技巧汇总》及《android控件用法总结》
希望本文所述对大家android程序设计有所帮助。