【发布时间】:2017-02-26 18:07:49
【问题描述】:
如何在滚动列表项时禁用列表视图触摸或单击。 我正在按钮单击事件上进行列表视图滚动,我需要列表视图 滚动时单击禁用。 我想让 listview 变成 wheel-view
【问题讨论】:
如何在滚动列表项时禁用列表视图触摸或单击。 我正在按钮单击事件上进行列表视图滚动,我需要列表视图 滚动时单击禁用。 我想让 listview 变成 wheel-view
【问题讨论】:
使用setOnScrollListener
listview.setOnScrollListener(new OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
if (scrollState == SCROLL_STATE_IDLE) {
isScrolling = false;
}
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
isScrolling = true;
}
});
在setOnItemClickListener 中这样做:
listview.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
if(!isScrolling){
//do your code
}
}
});
【讨论】:
在列表视图上设置 OnScrollListener 如下
setOnScrollListener(new OnScrollListener() {
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
// TODO Auto-generated method stub
}
public void onScrollStateChanged(AbsListView view, int scrollState) {
if (scrollState == OnScrollListener.SCROLL_STATE_IDLE) {
Log.i("a", "scrolling stopped...");
//attach the click listerner here
} else if(scrollState==OnScrollListener.SCROLL_STATE_TOUCH_SCROLL){
//remove the click listener here
}
});
【讨论】: