关于ListView或控件选择循环切换的实现方法

355 阅读1分钟

针对按键控制的设备,比如Android机顶盒等,在此简单介绍一下使ListView中选择条循环切换的方法,可以依次类推到所有想要进行循环选择的控件上。

一、ListView的循环切换

在onKeyDown()中判断上下按键:
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_DPAD_UP){
            //当选择条到最上面时,再按上则选择最后一个
            if (lvSelectOne.getSelectedItemPosition() == 0){
                lvSelectOne.setSelection(lvSelectOne.getCount() - 1);
                return true;
            }
        }
        if (keyCode == KeyEvent.KEYCODE_DPAD_DOWN){
            //当选择条到最下面时,再按下则选择最后第一个
            if (lvSelectOne.getSelectedItemPosition() == (lvSelectOne.getCount() - 1)){
                lvSelectOne.setSelection(0);
                return true;
            }
        }
        return super.onKeyDown(keyCode, event);
    }

二、其他控件的实现

只要将按键条件中的判断条件更改一下即可:
    //当首尾端控件获得焦点时,让另一端的控件获取焦点
    if (lvSelectOne.isFocused()){
        lvSelectTwo.requestFocus();
        return true;
    }

三、总结

ListView或控件的选择循环切换的效果实现还是比较简单的,把握住规律就行,如果对本文有什么意见和问题欢迎指正,如果觉得本文可以,请帮忙点个赞,谢谢观看。