2011-08-22 27 views
14

Tôi không biết cách gửi sự kiện phím xóa lùi đến EditText từ nút của riêng tôi. Đây là những gì tôi đã cố gắng:Gửi sự kiện phím xóa lùi để chỉnh sửa văn bản

Button backSpace=(Button)findViewById(R.id.backSpace_tab); 
backSpace.setOnClickListener(new OnClickListener() { 

    @Override 
    public void onClick(View v) { 
     // TODO Auto-generated method stub 
     text.dispatchKeyEvent(new KeyEvent(KeyEvent.KEYCODE_DEL,KeyEvent.KEYCODE_P)); 
    } 
}); 

Trả lời

36

Từ Android developer docs:

công KeyEvent (int hành động, int code)

Tạo một sự kiện quan trọng mới.

thông số
hành động đang hành động: hoặc ACTION_DOWN, ACTION_UP, hoặc ACTION_MULTIPLE.
đang Mã chìa khóa

Tham số đầu tiên phải là một mã hành động. Trong trường hợp của bạn, bạn nên sử dụng ACTION_DOWN, bởi vì bạn muốn mô phỏng một nhấn phím:

public static int thức ACTION_DOWN

getAction() giá trị: chìa khóa đã được ép xuống.

Vì vậy, điều này sẽ làm việc:

@Override 
public void onClick(View v) 
{ 
    text.dispatchKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DEL)); 
} 
Các vấn đề liên quan