因为keycode 执行的时候有 up和down事件,所以当你执行一个keyeven的时候 有时候会执行两次,其实进行判断一下就可以了。
@Override
public void onItemSelected(AdapterView<?> parent, View view, final int position,
long id) {
if(position>0){
gridview.setOnKeyListener(new View.OnKeyListener(){
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_GUIDE){// 监听menu按键
//我们只监听他的按下事件
if(event.getAction()==event.ACTION_DOWN){
start(position);
}
}
return false;
}});
}
// TODO Auto-generated method stub
}