關於ListView或控制元件選擇迴圈切換的實現方法

明月春秋發表於2017-11-15

針對按鍵控制的裝置,比如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或控制元件的選擇迴圈切換的效果實現還是比較簡單的,把握住規律就行,如果對本文有什麼意見和問題歡迎指正,如果覺得本文可以,請幫忙點個贊,謝謝觀看。

相關文章