버튼을 누르거나 'Enter'를 누르면 TextView
에 문자열을 표시하는 간단한 코드가 있습니다. 사용자가 버튼을 누르면 모두 찾을 수 있지만 '입력'을 누르면 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
에가는 것을 해결할 수 있다는 것을 보았지만 나는 그것들을 사용하고 싶지 않습니다.
힌트가 있습니까? 감사!
이상과 같이 KEYCODE_DPAD_CENTER을 hanlde이 http://stackoverflow.com/questions/4451374/use-enter-key-on-softkeyboard-instead-of-clicking-button/4451825#4451825를 사용하는 잘 –
내 문제를 해결해 줘서 고마워! 그리고 다른 트레드도 유용했습니다! – castors33