如何在android中的退格键上删除哪个字符

时间:2013-01-05 07:28:28

标签: android autocomplete backspace

我正在使用android 2.2。

如何在Android中自定义自动完成时编辑文本时,如何知道在退格键上删除哪个字符。

public boolean onKeyUp(int keyCode,KeyEvent msg){  
     if(keyCode == KeyEvent.KEYCODE_DEL)
     {
        // how to find here which character is get deleted
     }
     return false;
}

6 个答案:

答案 0 :(得分:1)

您可以使用TextWatcher向AutoCompleteTextView添加addTextChangeListener(TextWatcher)

如果用户正在添加或删除文本,您无需听取onKeyUp()各种TextWatcher方法通知您。

答案 1 :(得分:1)

最简单的方法就是保留您键入的最后一个字符

int lastKeyCode;
public boolean onKeyUp(int keyCode,KeyEvent msg){  
     if(keyCode == KeyEvent.KEYCODE_DEL)
     {
        // print lastKeyCode here
        // how to find here which character is get deleted
     }
     lastKeyCode = keyCode;
     return false;
}

答案 2 :(得分:1)

String prevText = "";
public boolean onKeyUp(int keyCode,KeyEvent msg){  

     if(keyCode == KeyEvent.KEYCODE_DEL)
     {
        int pos = myEditText.getSelectionStart();
        char c = prevText.charAt(pos);
        // c is deleted
     }
     prevText = myEditText.getText.toString();
     return false;
}

答案 3 :(得分:0)

(Edittext).setOnKeyListener(new OnKeyListener()
{
    public boolean onKey(View v, int keyCode, KeyEvent event)
        {
            if(event.getKeyCode()==67)
            {
                if((EditText).getText().toString().length()>0)
                {
                               int pos = (Edittext).getSelectionStart();
                               Char c = (EditText).getText().toString.charAt(pos);
       Toast.makeText(getApplicationontext(),String.valueOf(c),Toast.LENGTH_SHORT).show();
                }
        }   
            return false;
        }
    });

我认为它可以帮助你

答案 4 :(得分:0)

  

试试这个,为我工作

<input type="checkbox" value="7" disabled>

答案 5 :(得分:-1)

试试这个

edittext.addTextChangeListener(new TextWatcher{
@override
  public void afterTextChanged(Editable s){
     String changedtext = s.toString();
}

@override
public void  beforeTextChanged (CharSequence s, int start, int count, int after){}

@override
public void onTextChanged(CharSequence s, int start, int before, int count){}
});