android EditText控制光标的位置

利用自定义键盘,需要手动删除编辑框中的文本时,会根据光标的位置来删除字符。那么,如何来控制光标呢,android为我们提供了哪些方法,来处理光标呢?

这里提供几个自己写的方法,根据这些方法可以满足在光标任何位置删除字符的要求。

// 往文本框中添加内容
    public void addString(String sequence) {
        int index = getEditSelection();// 光标的位置
        if (index < 0 || index >= getEditTextViewString().length()) {
            dia_et_pwd.append(sequence);
            Log.i(TAG, "str===" + str);
        } else {
            dia_et_pwd.getEditableText().insert(index, sequence);// 光标所在位置插入文字
        }
    }

    // 获取光标当前位置
    public int getEditSelection() {
        return dia_et_pwd.getSelectionStart();
    }

    // 获取文本框的内容
    public String getEditTextViewString() {
        return dia_et_pwd.getText().toString();
    }

    // 清除文本框中的内容
    public void clearText() {
        dia_et_pwd.getText().clear();
    }

    // 删除指定位置的字符
    public void deleteEditValue(int index) {
        dia_et_pwd.getText().delete(index - 1, index);
    }

    // 设置光标位置
    public void setEditSelectionLoc(int index) {
        dia_et_pwd.setSelection(index);
    }

    // 判断是否是数字
    public static boolean isNum(String str) {
        return str.matches("([0-9]+)?)$");
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值