5

私はアンドロイド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;
}
4

7 に答える 7

2
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;
}
于 2013-01-05T07:45:52.660 に答える
1

TextWatcherを使用して AutoCompleteTextView に追加できますaddTextChangeListener(TextWatcher)

onKeyUp()ユーザーがテキストを追加または削除しているかどうかを通知するさまざまな TextWatcher メソッドを聞く必要はありません。

于 2013-01-05T07:35:55.873 に答える
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;
}
于 2013-01-05T07:36:17.837 に答える
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;
        }
    });

私はそれがあなたを助けると思います

于 2013-01-05T08:22:10.703 に答える
-2

これを試して

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){}
});
于 2013-01-05T07:51:53.483 に答える