我调试了以下代码片段,并知道调用方法dispatchKeyEvent()
两次。请提出解决方案dispatchKeyEvent()调用两次
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if(event.getKeyCode()== KeyEvent.KEYCODE_DPAD_CENTER)
{
if(cDetail.getVisibility()==View.VISIBLE )
{
cDetail.setVisibility(View.INVISIBLE);
cList.setVisibility(View.INVISIBLE);
}
else
{
cDetail.setVisibility(View.VISIBLE);
cList.setVisibility(View.VISIBLE);
}
}
return super.dispatchKeyEvent(event);
}
@sakir回答说要过滤事件,我不确定,按下任意键时是否调用KeyEvent.ACTION_DOWN&KeyEvent.ACTION_UP? –