我试过了:
ListvIEw.setoverScrollMode(ListVIEw.OVER_SCRolL_NEVER);
并且它不再显示背景,但现在有一种非常恼人的反d效果.是否有可能同时禁用d跳和过度滚动并使其滚动到达结束时刚刚结束而没有任何影响?
PS:我在两台设备上都使用androID 2.3.
解决方法 这是我如何解决这个问题,希望它能帮助那些搜索.关键是将OnScrollListener附加到列表中,跟踪何时处理fling手势以及何时到达列表末尾.然后,在d出仍在进行的同时,如果系统试图移动它,请继续将位置重置到最后.private ListVIEw mListVIEw;private listadapter mAdapter;@OverrIDeprotected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.activity_my_List); mListVIEw = (ListVIEw) findVIEwByID(R.ID.ListVIEw); mAdapter = new ArrayAdapter<String>(this,androID.R.layout.simple_List_item_1,getList(25)); mListVIEw.setAdapter(mAdapter); mListVIEw.setoverScrollMode(VIEw.OVER_SCRolL_NEVER); if(Build.VERSION.SDK_INT == Build.VERSION_CODES.GINGERBREAD || Build.VERSION.SDK_INT == Build.VERSION_CODES.GINGERBREAD_MR1){ mListVIEw.setonScrollListener(new OnScrollListener(){ private boolean flinging = false; private boolean reachedEnd = false; @OverrIDe public voID onScrollStateChanged(AbsListVIEw vIEw,int scrollState) { flinging = (scrollState == AbsListVIEw.OnScrollListener.SCRolL_STATE_FliNG); reachedEnd = false; } @OverrIDe public voID onScroll(AbsListVIEw vIEw,int firstVisibleItem,int visibleItemCount,int totalitemCount) { if(reachedEnd && flinging && (firstVisibleItem + visibleItemCount < totalitemCount)){ mListVIEw.setSelection(mAdapter.getCount() - 1); }else if(firstVisibleItem + visibleItemCount == totalitemCount){ reachedEnd = true; }else{ reachedEnd = false; } } }); }}总结
以上是内存溢出为你收集整理的如何在Android列表视图中禁用过度滚动和退回?全部内容,希望文章能够帮你解决如何在Android列表视图中禁用过度滚动和退回?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)