您现在的位置:首页 > 博客 > Android开发 > UI开发 > 正文
ListView 中 item 循环显示
http://www.drovik.com/      2012-9-19 21:38:58      来源:Steersman原创      点击:

1、 需求:

当用户利用上下键在ListView中进行选择时,如果用户想快速选择第一行或者最后一行;或者当用户选择最后一行时想不必返回,向下移动就可以选择第一行;或者当用户选择在第一行时,直接向上移动就可以选择最后一行,这就是在ListViewitem的循环显示。

2、 原理

1、 实现OnItemSelectedListener接口,给ListView注册setOnItemSelectedListener监听器

2、 定义一个临时ID用于保存用户当前选中的item

3、 通过onKeyDown()捕捉ACTION并判断是向上还是向下选择

4、 根据IDListViewitem的个数设定ListView的焦点位置

3、 代码

1private int lastItemSelect = 0;

2listView.setOnItemSelectedListener(this);

3

@Override

public void onItemSelected(AdapterView<?> arg0, View arg1, int index,

long arg3) {

lastItemSelect = index;

}

@Override

public void onNothingSelected(AdapterView<?> arg0) {

}

3

@Override

public boolean onKeyDown(int keyCode, KeyEvent event) {

System.out.println(keyCode);

switch (keyCode) {

case KeyEvent.KEYCODE_DPAD_UP:

if(lastItemSelect==0){

listView.setSelection(bookAdapter.getCount()-1);

return true;

}

break;

case KeyEvent.KEYCODE_DPAD_DOWN:

if(lastItemSelect>=bookAdapter.getCount()-1){

listView.setSelection(0);

return true;

}

break;

default:

break;

}

return super.onKeyDown(keyCode, event);

}

4、 结果

Everything goes well!

分享到:
发表评论(0)
姓名 *
评论内容 *
验证码 *图片看不清?点击重新得到验证码