我有一個簡單的代碼,在按下按鈕或用戶按下「Enter」後顯示TextView
中的字符串。當用戶按下按鈕時,全部都是找到的,但是當按下'enter'時,它會調用performClick()
來調用與按鈕相同的功能。但我的功能總是被稱爲兩次:我的按鈕總是通過performClick調用兩次
private OnKeyListener ChampKeyListener = new OnKeyListener()
{
@Override
public boolean onKey(View v, int keyCode, KeyEvent event)
{
if(keyCode == KeyEvent.KEYCODE_ENTER)
{
recherche.performClick(); // recherche is my button
}
return false;
}
};
private OnClickListener RechercheListener = new OnClickListener() {
@Override
public void onClick(View v) {
//whatever I have tried here it is always called twice
}
};
我該如何阻止這一點。我看到,我可以解決,我去另一個View
或Activity
,但我不想使用這些。
任何提示?謝謝!
或更好的使用這個http://stackoverflow.com/questions/4451374/use-enter-key-on-softkeyboard-instead-of-clicking-button/4451825#4451825來hanlde KEYCODE_DPAD_CENTER爲以及 –
謝謝你解決我的問題!另一方面也很有用! – castors33