EditText在光标处插入字符

写MarkDown编译器的快捷键时碰到的常见但又不太好想的问题

通用代码

//获取光标位置
    private int getEditTextCursorIndex(EditText editText){
        return editText.getSelectionStart();
    }
    //向光标处插入文本
    private void insertText(EditText editText,String string){
        editText.getText().insert(getEditTextCursorIndex(editText),string);
    }
    //光标左移
    private void setEditTextCusorRollLeft(EditText editText,int rollLeft){
        editText.setSelection(getEditTextCursorIndex(editText)-rollLeft);
    }

快捷键实现样例

case R.id.sk_head1:
                insertText(mEdContent,"# ");
                break;
            case R.id.sk_head2:
                insertText(mEdContent,"## ");
                break;
            case R.id.sk_head3:
                insertText(mEdContent,"### ");
                break;
            case R.id.sk_code:
                insertText(mEdContent,"```\n\n```");
                setEditTextCusorRollLeft(mEdContent,4);
                break;
            case R.id.sk_use:
                mEdContent.append("> ");
                break;
            case R.id.sk_xieti:
                mEdContent.append("**");
                setEditTextCusorRollLeft(mEdContent,1);
                break;

原文地址:https://www.cnblogs.com/Mr-quin/p/9125176.html

时间: 2024-11-06 03:51:42

EditText在光标处插入字符的相关文章

解决从光标处插入图片光标消失的问题

最近在做一个富文本编辑器,当鼠标单击事件发生在编辑区域外以后,光标就会消失,那么execCommand()方法就不能在编辑器处执行. 此时需要记录下光标消失的位置,一下几篇博文帮助非常大,记录下,以便后续学习使用. 1. TheViper,说的很详细 http://www.cnblogs.com/TheViper/p/4303158.html 2.这块说的一幕了然  http://w3cboy.com/post/2015/06/iframe-insert-picture-cursor/ 以上代码

使用JS在textarea在光标处插入内容

// 在光标处插入字符串 // myField 文本框对象 // myValue 要插入的值 function insertAtCursor(myField, myValue) { //IE support if (document.selection) { myField.focus(); sel = document.selection.createRange(); sel.text = myValue; sel.select(); } //MOZILLA/NETSCAPE support

js在一个可编辑的div光标处插入图片或者文本(兼容ie,火狐等浏览器)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Typ

修正《更简单的 编辑器从光标处插入图片(失去焦点后仍然可以在原位置插入)》中的一个问题

转载请注明: TheViper http://www.cnblogs.com/TheViper  以前写过一篇更简单的 编辑器从光标处插入图片(失去焦点后仍然可以在原位置插入),里面只测试了ie,事实上在firefox中有个小问题,就是不管插入图片前,编辑器有没有焦点(光标),在插入后,光标会消失. 插入前没有焦点 插入前有焦点 修正 function insertImage(html){ restoreSelection(); if(document.selection) currentRan

更简单的 iframe从光标处插入图片(失去焦点后仍然可以在原位置插入)

转载请注明: TheViper http://www.cnblogs.com/TheViper 前天晚上发现上一篇iframe从光标处插入图片(失去焦点后仍然可以在原位置插入里面的用法在ie6,7中无效,好悲催,当初只测试了ie8就以为在ie6,7上也没问题. 昨天在github上发现了一个很好的富文本编辑器wangEditor,一看名字就是中国人写的.这个编辑器好在支持ie6+,另外最重要的一点,它在ie6,7,8上都可以做到失去焦点后仍然可以在原位置插入图片,而且代码量很少.于是很好奇的看看

在光标处插入内容。

function insertAtCursor(myField, myValue) { if (document.selection) { //IE myField.focus(); var sel = document.selection.createRange(); //创造range对象 sel.text = myValue; //由于我们选择的RANGE对象长度就是光标,直接赋插入值即可 }else if (myField.selectionStart || myField.select

由编辑器从光标处插入图片(失去焦点后仍然可以在原位置插入)实现的富文本编辑器

转载请注明: TheViper http://www.cnblogs.com/TheViper  大家都知道,如果只是大概的实现一个简单的富文本编辑器,直接用execCommand就可以了,虽然不同浏览器对execCommand命令的反应不一样,最后效果是差不多的.当然,如果要严谨的,用像ueditor那种只有很少部分实现是用execCommand的富文本编辑器. 昨天,本屌就试着用execCommand搞一个简单的编辑器.在本屌看来,什么字体加粗,斜体,下划线,对齐,列表..直接用execCo

可编辑DIV (contenteditable=&quot;true&quot;) 在鼠标光标处插入图片或者文字

近期需开发一个DIV做的编辑器,插入表情图片可直接预览效果,仔细参考了下百度贴吧的过滤粘贴过来文件的THML代码,自己整理了下.写出来只是和大家分享下,我自己也不大懂,经过努力,幸好搞定. 蛋疼的事情出来了,当编辑框失去焦点时候,再插入图片时候总是插入在最前面(谷歌和火狐,IE没问题).还没搞定,,, <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/

JQ在光标处插入文字

内容转载自网络这是一个JQ的扩展方法.在teatarea获得焦点时,往光标处插入文字,扩展代码如下 (function($){ $.fn.extend({ "insert":function(value){ //默认参数 value=$.extend({ "text":"123" },value); var dthis = $(this)[0]; //将jQuery对象转换为DOM元素 //IE下 if(document.selection){