首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

ListView 中 item 循环展示

2012-09-15 
ListView 中 item 循环显示ListView 中 item 循环显示??[功能]何谓循环显示 即 1. 此刻的 item 为最后一个

ListView 中 item 循环显示

ListView 中 item 循环显示

?

?

[功能]

何谓循环显示 即

1. 此刻的 item 为最后一个 当继续往下翻的话 就会回到第一个

2. 而此刻的 item 是第一个 当继续往上翻 就会变为最后一个

?

?

[原理]

1. 一个 int ID? 用于保存 选中的 item

2. 通过 onKeyDown() 捕捉ACTION 并判断是 向上 还是 向下

3. 把 二者 进行综合判断 然后设定 焦点

?

?

[代码 步骤]

1. 定义 int ID 并记录 选中的 item id

int ID = 0;this.getListView().setOnItemSelectedListener(new OnItemSelectedListener(){@Overridepublic void onItemSelected(AdapterView<?> arg0, View arg1,int arg2, long arg3) {// TODO Auto-generated method stubID = arg2;}@Overridepublic void onNothingSelected(AdapterView<?> arg0) {// TODO Auto-generated method stub}                });

?

?

2. 通过 onKeyDown 捕捉 keyCode? 假如是自己关心的按键 再根据此刻的 ID? 进行相应的设定

public boolean onKeyDown(int keyCode, KeyEvent msg){    if(keyCode == msg.KEYCODE_DPAD_DOWN){    if(ID == data.length - 1 ){    this.getListView().setSelection(0);    }    }    else if(keyCode == msg.KEYCODE_DPAD_UP){    if(ID == 0){    this.getListView().setSelection(data.length - 1);    }    }        //super.onKeyDown(keyCode, msg);return false;    }

?

?

?

done!

?

1 楼 sunburst 2010-02-04   不错,挺好的,学习到了,感谢楼主 2 楼 wafj1984 2010-02-10   什么意思的  3 楼 gryphone 2010-02-10   wafj1984 写道什么意思的 
如果没有这些代码的话
当item是最后一个 就不可以继续往下翻了 同理 当item是第一个 也不可以继续往上翻了 4 楼 superhanliu 2010-02-21   这个很好,目前自带的一些软件都没有这个功能,不太爽 5 楼 hhhhhh1972 2010-02-25   不错,谢谢 6 楼 leelight 2010-03-04   如果用户是触摸,就是往下拖的惯性动作
你怎么捕捉呢? 7 楼 gryphone 2010-03-05   leelight 写道如果用户是触摸,就是往下拖的惯性动作
你怎么捕捉呢?
可以用onFlipper() 捕捉啊 不过我因为是试验这个功能 所以没支持 但是难度也不大 8 楼 leon19870907 2012-05-14   这种做法考虑不够周全  要是我从第一个移动到最上面 马上就跳到第一个了 怎么办?

热点排行