0

keyEventsをEditText無視する必要があります。Backspace次のクラスがありますが、機能しません。

public class CustomEditText extends EditText    {

    public CustomEditText(Context context, AttributeSet attrs) {
        super(context);
        // TODO Auto-generated constructor stub
        this.setOnKeyListener(new OnKeyListener() {                 
            @Override
            public boolean onKey(View v, int keyCode, KeyEvent event) {
                //You can identify which key pressed buy checking keyCode value with KeyEvent.KEYCODE_
                if(keyCode == KeyEvent.KEYCODE_DEL){  
                    //do nothing
                }
                return true;
            }
        });
    }
}
4

3 に答える 3

1

リスナーを追加する代わりにonKeyDownメソッドをオーバーライドしてみてください

于 2012-06-04T14:52:57.783 に答える
1

ここで false を返してみてください:if(keyCode == KeyEvent.KEYCODE_DEL){
return false; }

于 2012-06-04T14:54:13.350 に答える
0

を確認してInputFilterください。おそらくこれが可能です

https://stackoverflow.com/a/4401227/614231

入力に対して他のタイプのフィルタリングを行うためにを使用InputFilterしましたが、バックスペース文字を防ぐために実際に使用できるかどうかはわかりません。

于 2012-06-04T14:49:30.223 に答える