0
我一直在試圖在鍵盤的輸入鍵上創建一個「onHold」動作。
安卓鍵盤擱置
searchField.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
searchField.setText(searchField.getText().toString().replace("\n", ""));
if((CounterRunning)&&(event.getAction() == KeyEvent.ACTION_UP ) && (keyCode == KeyEvent.KEYCODE_ENTER))
{
CounterRunning = false;
counter.cancel();
AddItem();
}
if((event.getAction() == KeyEvent.ACTION_DOWN ) && (keyCode == KeyEvent.KEYCODE_ENTER))
{
CounterRunning = true;
counter.start();
}
}});
public class MyCount extends CountDownTimer{
public MyCount(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
}
@Override
public void onFinish() {
CounterRunning = false;
AskForDate();
}
@Override
public void onTick(long millisUntilFinished) {
}
}
我希望用戶在點擊運行AddItem()
和運行AskForDate()
如果在輸入密鑰的用戶保持。 但行動KeyEvent.ACTION_DOWN
只是當我從鍵盤上刪除手指時觸發,我是否缺少什麼?
在Android 2.3.7(CM7.2)測試和Android 4.0.4(CM9),都與默認softkeyboard
我的猜測是,由於Android可以有許多不同的軟件鍵盤,並非所有的軟件都能夠正確支持所有操作,因此您無法可靠地創建始終有效的onHold操作。不過,我希望有人證明我錯了。 – ZeroOne
你能否更詳細地闡述你的問題,你究竟在尋找什麼? – Kamal
@Kamal我編輯了這個問題。在此先感謝 – Joaolvcm