我正在使用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;
}
答案 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){}
});