2011-06-23 41 views
1

我打開虛擬鍵盤,並在我的2D應用程序中獲得按鍵。但在虛擬鍵盤上按DEL鍵時,虛擬鍵盤不會給出任何響應。sonyericsson xperia x10 del鍵

如何知道用戶何時按DEL鍵或可以將全局keylistener添加到系統中?

回答

0

最簡單的方法是基於的EditText小部件創建自己的編輯:

public class CustomEditText extends EditText { 
    public CustomEditText(Context context) { 
     super(context); 
    } 

    public CustomEditText(Context context, AttributeSet attrs) { 
     super(context, attrs); 
    } 

    public CustomEditText(Context context, AttributeSet attrs, int defStyle) { 
     super(context, attrs, defStyle); 
    } 
} 

然後,覆蓋的方法OnKeyPreIme

@Override 
public boolean onKeyPreIme(int keyCode, KeyEvent event) { 
    if(keyCode == KeyEvent.KEYCODE_DEL) { 
     // Do something 
    } 
    return super.onKeyPreIme(keyCode, event); 
} 

當然,以上的方法,如果你有一個EditText爲其工作屏幕上的鍵盤被打開(但是你可以創建一個大小爲0的底紋,反正)

+0

我不使用EditText。我只是展示了我的擴展基本觀點。並且,我嘗試將您的代碼實現到我的視圖中,但它不起作用。實際上,DEL鍵可以用於其他Android設備,但只能使用xperia。 xperia有12個鍵區,而不是整個qwerty鍵盤。問題可能與此有關 – Adem

+0

您如何收到按鍵?與onKeyDown? –

+0

是的,onkeydown和onkeyup適用於其他字符。但只有DEL鍵。此外,DEL鍵與其他設備正常工作。真奇怪。實際上它可能是關於數字鍵盤系統。 – Adem