ListView 切换逻辑:
1、获取ListView的可选择的总范围,getSelectedItemPosition();
2、找出当前选择的位置,监听OnKeyListener判断位置是在第一个item 还是在最后一个item,第一个则setSelection("位置");设置到最后一个;
光标在最后一个则设置给第一个:
private int position=0;
private ListView listveiw;
private ArrayList<Data> data;
-------------------------------------------------------------------
//监听事件
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if(event.getAction()==KeyEvent.ACTION_DOWN){
position=listview.getSelectedItemPosition();
switch (event.getKeyCode()) {
case KeyEvent.KEYCODE_DPAD_DOWN:
if(position == data.size()-1){
listveiw.setSelection(0);
return true;
}
break;
case KeyEvent.KEYCODE_DPAD_UP:
if(position == 0){
listveiw.setSelection(data.size()-1);
return true;
}
break;
default:
break;
}
}
}