android关于EditText与其光标

翻译 2015年07月07日 15:23:40
(该文属整合性文章)

android EditText插入字符串到光标所在位置

       在安卓中处理文本编辑的时候,我们一般都是用EditText控件,除了基本的输入文字功能之外,我们很可能还需要一些更灵活的功能,比如在光标所在位置插入一张图片。但是EditText本身只有追加函数append(),并没有insert方法,难道要我们自己写方法实现插入功能吗,经过研究之后发现,EditText有已经实现好了的插入方法,不过在其附属的另外一个对象Editable中。通过getEditableText()方法可以获得该对象。下面的一段代码演示了如何在EditText的光标之处插入文字:
EditText mEditText = (EditText)findViewById(R.id.input);//EditText对象
int index = mEditText.getSelectionStart();//获取光标所在位置
String text="I want to input str";
Editable edit = mEditText.getEditableText();//获取EditText的文字
if (index < 0 || index >= edit.length() ){
      edit.append(text);
}else{
      edit.insert(index,text);//光标所在位置插入文字
 }

       你可能会说,在光标之处插入文字,那还不简单,用户直接通过输入法打出来的文字不都是在光标之处吗,你上面讲的东西有什么实际意义?的确是这样,但是有些情况下,我们希望光标处的文字或者其他东西并不是来自于用户输入,可能是来自于其他app或者activity的返回结果,这个结果应该自动插入到光标处,所以上面的讨论是有实际意义的。
       这里我可以解释一下原作者的意思,假如我们插入的是表情(至于如何向EditText插入表情,可以上网百度),对于使用这段话就很有必要了,不然可能即便光标不再文本末,插入表情也会插入到末尾的。

android java代码设置EditText输入类型

setInputType(android.text.InputType.*);
//可以根据自己的需要设置相应的类型。

怎样把光标放在EditText中文本的末尾处?
Editable etext = mSubjectTextEditor.getText();
Selection.setSelection(etext, etext.length());





Android中EditText的光标的隐藏与再次显示

编辑框中有内容时,如下图所示: 当你点击重置按钮时,需要将编辑框的内容清空!如果只是单纯采用如下代码实现编辑框内容的清空:edit1.setText("");// TODO 编辑框设置清空 将会出现如...
  • csdnzouqi
  • csdnzouqi
  • 2016年07月05日 14:46
  • 12258

Android Edittext 显示光标 获取焦点 监听焦点

Android Edittext 显示光标 获取焦点 监听焦点 Edittext java 代码控制获取焦点 EditText mEditText = (Edi...
  • aaawqqq
  • aaawqqq
  • 2015年12月11日 10:42
  • 34783

EditText更改光标的大小和颜色

1 在代码中进行设置更改默认提示的字体大小      SpannableString hintStr = new SpannableString(getResources().getString(R...
  • sinat_29321583
  • sinat_29321583
  • 2016年09月23日 04:34
  • 2551

Android 修改EditText的光标颜色和背景色

Edittext 的光标颜色:在xml布局文件中 android:textCursorDrawable=”@null” 表示光标的颜色和字体的颜色一样当然,我们也可以自定义光标的颜色,在drawa...
  • u012301841
  • u012301841
  • 2016年04月14日 15:47
  • 18706

Edittext去除光标和下划线

设置 android:background="@null"隐藏下划线,android:cursorVisible="false"隐藏光标,默认为TRUE ...
  • wangjiangjun0815
  • wangjiangjun0815
  • 2017年03月31日 17:22
  • 1433

EditText去掉边框和隐藏光标

去掉边框 android:background="@null" 隐藏光标 android:cursorVisible="false"
  • abc709272013
  • abc709272013
  • 2015年11月25日 12:54
  • 2774

更改EditText光标高度

在做项目是发现如果指定了EditText的lineSpacingMultiplier 或者 lineSpacingExtra属性调整行间距,则光标会变得很大,十分的难看. 于是在网上搜,找到了解决方...
  • itjinks
  • itjinks
  • 2014年11月14日 09:53
  • 4488

Android—edittext第一次显示不显示光标的

在edittext根布局加上如下属性             android:focusable="true"             android:focusableInTouchMo...
  • weiguishan
  • weiguishan
  • 2015年12月30日 14:19
  • 3583

android 多个EditText光标的问题

多个EditText光标的问题 最近公司有个需求,就是多个EditText,当点击下一个EditText的时候,若上一个EditText的内容输错,我们需要清空当前的输入的EditText,但是当我...
  • yuanbing1988
  • yuanbing1988
  • 2016年04月26日 20:48
  • 720

Android EditText光标移动到文本框末尾

EditText et = (EditText)findViewById(R.id.inbox); et.setSelection(et.getText().length());
  • xiongbatianxia30146
  • xiongbatianxia30146
  • 2016年09月24日 10:37
  • 11752
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android关于EditText与其光标
举报原因:
原因补充:

(最多只允许输入30个字)