0
因此我試圖爲具有掃描按鈕的新設備設置按鍵事件,我之前使用虛擬鍵盤工作,但無法獲得它與硬件密鑰如何使keyevent僅在出現文字時才執行點擊操作
與虛擬鍵盤在其他設備上工作的4.1版本的工作,但還沒有在新設備上工作,這是5.1
shelfnumberbox.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_NULL
&& event.getAction() == KeyEvent.ACTION_DOWN) {
btn_aprove.performClick();
}
return false;
}
});
}
什麼,我想自己動手
shelfnumberbox.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_NULL
&& event.getAction() == KeyEvent.KEYCODE_BUTTON_A) {
btn_aprove.performClick();
}
return false;
}
});
}
API的功能齊全的硬件KeyEvent的
public boolean onKeyUp(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
switch (keyCode) {
case KeyEvent.KEYCODE_BUTTON_A:
if(isOnResume && scanCase != START_TEST_CASE){
mDecoderMgr.dispatchScanKeyEvent(event);
}
isScanKeyDown = false;
return true;
default:
return super.onKeyUp(keyCode, event);
}
}
所以沒有辦法得到它與關鍵事件一起工作? –
已更新的答案。只需使用if語句包裝'performClick',或將其添加到父if語句。 – zed
沒有工作 –