zoukankan      html  css  js  c++  java
  • 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,"```
    
    ```");
                    setEditTextCusorRollLeft(mEdContent,4);
                    break;
                case R.id.sk_use:
                    mEdContent.append("> ");
                    break;
                case R.id.sk_xieti:
                    mEdContent.append("**");
                    setEditTextCusorRollLeft(mEdContent,1);
                    break;
    
  • 相关阅读:
    (图论)树的直径
    HDU 4607
    类属性的增删改查
    python内置常用模块
    字典的使用
    元组的使用
    列表的基本函数
    字符串练习题
    python3.7字符串基本函数
    python简单的while语句和if语句的练习
  • 原文地址:https://www.cnblogs.com/Mr-quin/p/9125176.html
Copyright © 2011-2022 走看看