< - 旧的,现在不相关的代码 - >
编辑:
我按照@Sam的建议做了并使用了以下代码:
lv1.setonTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v,MotionEvent event) { if (touchSource == null) { touchSource = v; } if (v == touchSource) { lv2.dispatchTouchEvent(event); if (event.getAction() == MotionEvent.ACTION_UP) { clickSource = v; touchSource = null; } } return false; } }); lv1.setonItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent,View view,int position,long id) { if (parent == clickSource) { //my own code here } } }); lv1.setonScrollListener(new OnScrollListener() { @Override public void onScroll(AbsListView view,int firstVisibleItem,int visibleItemCount,int totalItemCount) { if (view == clickSource) { } boolean loadMore = /* maybe add a padding */ firstVisibleItem + visibleItemCount + 10 >= totalItemCount; if (loadMore) { //add items,load more } } @Override public void onScrollStateChanged(AbsListView view,int scrollState) { } }); lv2.setonTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v,MotionEvent event) { if (touchSource == null) { touchSource = v; } if (v == touchSource) { lv1.dispatchTouchEvent(event); if (event.getAction() == MotionEvent.ACTION_UP) { clickSource = v; touchSource = null; } } return false; } }); lv2.setonItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent,long id) { if (parent == clickSource) { } } }); lv2.setonScrollListener(new OnScrollListener() { @Override public void onScroll(AbsListView view,int totalItemCount) { if (view == clickSource) { } boolean loadMore = /* maybe add a padding */ firstVisibleItem + visibleItemCount + 2 >= totalItemCount; if (loadMore) { } } @Override public void onScrollStateChanged(AbsListView view,int scrollState) { } });
我也在其中一个列表上使用标题来创建交错效果,我需要不惜一切代价保持这种错开.这主要是工作(上面的代码),但它很多时候都是unyncs.我已经发现这只是在我进行短暂的轻扫时.我不知道为什么,我找不到一个好的解决方案.在我看来,上述逻辑应该有效.
另外,万一重要,我使用UniversalImageLoader加载照片和一个简单的endlessscroll逻辑来加载更多照片(直接调用adapter.notifyDataSetChanged()).这个东西虽然看起来不太相关.即使照片被加载,我仍然可以看到它没有被发现.
我想明确一点:如果我做短暂的滑动(有时只是一般的重复滚动),我可以随意取消同步列表.
任何帮助表示赞赏.谢谢.
编辑2:
然而要找到一个好的解决方案.以下是我发现的解决方案不太有效:
>上述解决方案:经常使用unyncs
> Pinterest List View:没有OnScrollListener / onItemClick区分
> StaggeredGridView:没有onScrollListener
> Stag Project:没有onItemClick侦听器
> Linear Layout Method:没有onItemClick侦听器
有任何想法吗?谢谢.
解决方法
基本上,两个linearLayouts水平堆叠,在滚动视图内.它运行得相当好,加载速度更快.
此外,如果有帮助,加载我的图像SmartImageView.
原文地址:https://www.jb51.cc/android/129565.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。