想实现这样的效果,用户按上下键的时候,可以让listview滚动指定的像素。就像ScrollView一样。
我现在的做法是,响应用户的KEYCODE_DPAD_DOWN和KEYCODE_DPAD_UP键值,如下:@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if(keyCode == KeyEvent.KEYCODE_DPAD_DOWN) {
list.scrollBy(0, -200);
return true;
}else if(keyCode == KeyEvent.KEYCODE_DPAD_UP) {
list.scrollBy(0, 200);
return true;
}
return super.onKeyDown(keyCode, event);
}这样按上下键时,滚动条是可以滚的,list item也可以滚动,但是,刷不出来新的item(就是原来没有显示的item),item滚上去,下面是空白的!
我试着用listview的scrollTo和setScrollY也不行。
也试过,scroll完之后调用list.invalidate()和list.invalidateViews()都不行。有谁研究过,恳请赐教,不胜感激。
我现在的做法是,响应用户的KEYCODE_DPAD_DOWN和KEYCODE_DPAD_UP键值,如下:@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if(keyCode == KeyEvent.KEYCODE_DPAD_DOWN) {
list.scrollBy(0, -200);
return true;
}else if(keyCode == KeyEvent.KEYCODE_DPAD_UP) {
list.scrollBy(0, 200);
return true;
}
return super.onKeyDown(keyCode, event);
}这样按上下键时,滚动条是可以滚的,list item也可以滚动,但是,刷不出来新的item(就是原来没有显示的item),item滚上去,下面是空白的!
我试着用listview的scrollTo和setScrollY也不行。
也试过,scroll完之后调用list.invalidate()和list.invalidateViews()都不行。有谁研究过,恳请赐教,不胜感激。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货