Android在输入框中移动光标到倒数第二个位置|点击按钮添加指定字符到输入框(EditText)

Android在输入框中移动光标到倒数第二个位置|点击按钮添加指定字符到输入框(EditText)

因个人需求我是通过点击按钮来添加指定文字/字符串的,然后每次添加字符串都要把系统光标自动移动到字符串中。可能是我的问题比较奇怪,找遍互联网也没找到有人问和我情况类似的问题的,由于自己也没什么安卓开发的基础,研究了许久终于研究出了解决方案,特此记录。

代码满足如下需求:

  • 通过点击按钮(Button)在输入框(EditText)添加指定字符“()”
  • 每次点击按钮后自动移动光标到指定字符“()”的中间
  • 用户可以在输入框(EditText)的任意位置添加指定字符

详解:

  • 第一行:这是一个事件监听器(OnClickListener),你可以新建一个按钮(Button)然后用setOnClickListener来操控它,栗子:【buttonAdd.setOnClickListener(this);】;
  • 第二行:声明一个String,名为str,用来存放任意字符串,这里我给它赋值个“括号”;
  • 第三行:声明一个int,名为cursorPosition,mBodyText是实例化的输入框(EditText),这个可以替换成你们自己的名字,然后用getSelectionStart方法获得从起始位置的光标,把这一切赋值给cursorPosition;
  • 第四行:获得输入框内容,用insert方法添加内容,用法为insert(位置,要添加的内容);
  • 第五行:设置光标在输入框的位置,setSelection方法的用法是setSelection(指定位置),这里我把【cursorPosition + 1】的位置传入里面,因为字符”()”总共是三个位置,分别是括号前、括号内、括号最后,所以+ 1的意思是把光标放括号内。

 

附加个相关代码:如果只是要Android移动光标到最后,直接用这个就可以了

有啥不明白的欢迎留言啊~(PS:第一次在网站写跟安卓编程有关的,觉得代码的东西还是用中文写合适,注释和代码比较容易区分)

 

</catmee> 文章全部原创、谢绝转载,作者「BianLei」,如果喜欢欢迎分享链接,相关内容参见本站版权声明
如果您觉得本站的存在对您多少有所帮助,可以用手机支付宝扫一扫以下二维码支付任意金额作为支持:支付宝
本站相关:QQ空间 | Facebook
Tagged . Bookmark the permalink.

Android UI实例之已被国内应用开发商用烂的Splash Screen
Android UI实例之已被国内应用开发商用烂的Splash Screen

用小米3在Eclipse通过USB调试时连接不到ADB的解决方案|小米3真机调试|适用于所有小米手机|MI 3W驱动问题|安卓开发
用小米3在Eclipse通过USB调试时连接不到ADB的解决方案|小米3真机调试|适用于所有小米手机|MI 3W驱动问题|安卓开发

China Street Style 9 | Harbin Street Style
China Street Style 9 | Harbin Street Style

Malaysia Street Style 42: Freelance singer during Malaysia Day (1)
Malaysia Street Style 42: Freelance singer during Malaysia Day (1)

WordPress免插件添加文章图片统计!适合图片博客的好功能哟
WordPress免插件添加文章图片统计!适合图片博客的好功能哟

COMMENTS: 4

  1. Penny says:

    楼主太棒啦,成功解决了我的问题,我的问题是用button输入数字,然后把每个按钮的输入的东西都显示在editview上,之前每按一个都显示该按钮的值,之前按的都没了,楼主此方法超级正确,谢谢啦!

  2. 平凡 says:

    可不可以把这个开发成一个插件。在微信、微博、QQ空间等其它文字输入时也能用到。

    • BianLei says:

      插件?我这个写的是安卓应用的代码,如果你的意思是问可不可以写一个这样的安卓应用,那倒是可以表达一下你的需求

Comment Anonymously? No Problem! | 可以匿名评论了我会说?

Fill up Email address to subscribe reply and display your avatar from Gravatar (If any)
填写邮箱即可显示您在Gravatar的头像