在edittext中附加退格 [英] append backspace in edittext

查看:32
本文介绍了在edittext中附加退格的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个简单的活动.只有一个编辑文本和一个按钮.在编辑文本中写入一些文本后,如果我按下按钮,我想删除文本的最后一个字符.我试过这样:

I have a simple activity. Only one edittext and one button.After writing some text in the edittext if I press the button I want to delete the last character of the text. I have tried like this:

String backSpace = txtMsg.getText().toString();
    if(!backSpace.equals(""));
        String mystring=backSpace.substring(0, txtMsg.length()-1)); 
txtMsg.setText("");
txtMsg.append(mystring);

它工作正常,但我想通过移动光标(通过 txtMsg.setSelection())在最后一个位置和最后在任何位置手动附加退格字符;就像我们在文本末尾附加任何字符一样:

It works fine but I want to manually append the backspace character at last position and finally at any position by moving the cursor(by txtMsg.setSelection()); Like we append any character to the end of the text:

txtMsg.append("C");

我想知道用什么来代替 C 来附加退格键?请帮忙提前致谢.

I want to know what will be in place of C for appending the backspace?Please Help Thanks in advance.

推荐答案

我不确定您是否还需要回答这个问题,但我最近和您有同样的需求,我在 Editable 上使用了删除方法安卓类型:

I am not sure if you still need an answer to this or not, but I recently had the same need as you and I used the delete methond on the Editable android type:

http://developer.android.com/reference/android/text/Editable.html#delete(int,%20int)

我有一个密码 EditText 并在删除"按钮的点击处理程序中执行以下操作:

I had a password EditText and did the following in the click handler for the 'delete' button:

        // delete
    if (m_userPass.getText().length() > 0) {
        m_userPass.getText().delete(m_userPass.getText().length() - 1,
                m_userPass.getText().length());
    }

delete 方法有两个参数,要删除的文本的开始位置和结束位置.在我的示例中,我只是让删除按钮删除最后一个字符(无论光标如何).如果你想变得更漂亮,你可以在逻辑中根据光标位置确定开始和结束位置.

The delete method takes two arguments, the start and end position of the text to delete. In my example, I am just making the delete button delete the last character (regardless of the cursor). If you wanted to get fancier, you could put in logic to figure out the start and end position based on the cursor position.

开始位置必须在结束位置之前(我一开始不小心犯了这个错误).并且起始位置必须大于或等于零.

The start position has to come before the end position (I accidentally made that mistake at first). And the start position has to be greater than or equal to zero.

这篇关于在edittext中附加退格的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆