2011-10-13 97 views
3

我需要知道用戶在我的EditText中點擊Shift鍵(軟鍵盤)。目前,我使用的是addTextChangedListener,但是當移位鍵被按下它不叫(雖然它是當任何其他鍵被按下)Android Shift鍵聽衆

我能做些什麼,當用戶點擊知道Shift鍵?

感謝,

回答

4

下面的例子可以幫助你

//while your activity class should be implementing OnKeyListener like below 
//public class MyActivity extends Activity implements OnKeyListener { ....} 
myEditText.setOnKeyListener(this); 

然後通過重寫鍵收聽你可以的方法感應換擋鍵

@Override 
public boolean onKey(View v, int keyCode, KeyEvent event) { 
    switch (v.getId()) 
    { 
    case R.id.myEditTextId: 
    if(keyCode==59)//59 is shift's keycode 
    //do your stuff here against pressing shift key 
    break; 
    } 
    } 

,你可以在這裏的Android按鍵代碼列表http://qdevarena.blogspot.com/2009/04/android-keycodes-list.html

4

你必須使用View.OnKeyListener

edit1.setOnKeyListener(new View.OnKeyListener() { 
@Override 
public boolean onKey(View v, int keyCode, KeyEvent event) { 
    if(event.isShiftPressed()) 
     { 

     } 
    return false; 
    } 
}); 
+0

非常感謝您的幫助。 這是否適用於軟鍵盤?它不適合我: -/ –

+0

@DigitalHazard - 我不知道你有這種情況。看看這個線程 - http://stackoverflow.com/questions/4282214/onkeylistener-not-working-on-virtual-keyboard – adatapost