Android 我的按钮总是使用performClick调用两次
我有一个简单的代码,在按下按钮或用户按下“回车”键后,在Android 我的按钮总是使用performClick调用两次,android,android-button,Android,Android Button,我有一个简单的代码,在按下按钮或用户按下“回车”键后,在TextView中显示字符串。当用户按下按钮时,全部为查找,但当按下“enter”时,它调用performClick()调用与按钮相同的函数。但我的爱好总是叫两次: private OnKeyListener ChampKeyListener = new OnKeyListener() { @Override public boolean onKey(View v, int keyCode, Ke
TextView
中显示字符串。当用户按下按钮时,全部为查找,但当按下“enter”时,它调用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
}
};
我怎样才能阻止它。我已经看到我可以解决去另一个视图
或活动
的问题,但我不想使用这些
有什么提示吗?谢谢
true
,否则返回false
试试看
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (event.getAction() == KeyEvent.ACTION_DOWN)
{
if(keyCode == KeyEvent.KEYCODE_ENTER)
{
recherche.performClick(); // recherche is my button
return true;
}
}
return false;
}
事件可能会触发两次,一次是按键时,另一次是释放时。尝试:
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_ENTER &&
event.getAction() == KeyEvent.ACTION_DOWN) {
recherche.performClick(); // recherche is my button
return true; // consume event
}
return false;
}
或者最好也用这个来hanlde KEYCODE_DPAD_中心谢谢你解决了我的问题!另一个踏板也很有用!