分享

重写onKeyDown的问题

 _私_房_菜_ 2012-05-28
最近在音乐播放器上碰见onKeyDown的问题,focus在listView上,所以,上层的activity无法收到,而是被listView拦截了。
后来想想view的keyevent,有很多处理。例如dispatchKeyEvent。
 
重写这个dispatchKeyEvent即可,拦截处理listView中keydown的相关操作。
 
@Override
    public boolean dispatchKeyEvent(KeyEvent event) {
     ListView list = (ListView) findViewById(R.id.musiclist);
        if (event.getAction() == KeyEvent.ACTION_DOWN) {
            switch (event.getKeyCode()) {
    case KeyEvent.KEYCODE_PAGE_UP:
     //Log.d(TAG, "====page up====");
        updatePage(true);
        list.setSelection(0);
     updateInfoMation();
     return true;
    case KeyEvent.KEYCODE_PAGE_DOWN:
     //Log.d(TAG, "=====page down=====");
        updatePage(false);
        list.setSelection(0);
     updateInfoMation();
     return true;
   }
        }
        return super.dispatchKeyEvent(event);
    }

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多