scrollview下Expandable Listview的setOnScrollListener()
Posted
技术标签:
【中文标题】scrollview下Expandable Listview的setOnScrollListener()【英文标题】:setOnScrollListener() of Expandable Listview under scrollview 【发布时间】:2016-08-11 04:57:06 【问题描述】:我在 Scrollview 中使用了大约 27 个可扩展列表视图(在 Scrollview 中滚动,而不是具有父、子关系的滚动)(在选择一些文本后,一次可见一个)。我想在此添加更多负载,而用户在滚动列表视图时到达最后一项。但是 setOnScrollListener() 在加载数据而不是滚动时立即返回最后一项。请提出一些在这种情况下使用负载更多的方法。
listViewsSearchResults[i].setOnScrollListener(new AbsListView.OnScrollListener()
@Override
public void onScrollStateChanged(AbsListView view, int scrollState)
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount)
if (firstVisibleItem + visibleItemCount == totalItemCount && totalItemCount != 0)
//call API
Log.d("ListView ", alphabets[finalI] + " Hit API");
);
【问题讨论】:
你到底想要什么?? 我想在这些列表视图中应用加载更多,当我滚动到列表视图的最后一项时。 你尝试过什么吗? 我更改了布局.. 以不同的方式完成这项工作 在不同活动中打开列表 【参考方案1】:如果要在scrollview下使用Expandable Listview的setOnScrollListener(), 您不能在滚动视图中使用它,但您可能有另一种解决方案,因为我已经使用并解决了我的问题。
您可以简单地删除您的滚动视图和列表视图上方的标题布局,并将列表视图仅保留在布局文件中。 然后将您的 headerView 用作 listview headerView。
创建另一个布局作为 layout_headerview.xml 并将您的标题内容放入此文件中,
最后将它们设置为listview的headerView,
在您的 onCreate() 方法中编写以下代码。
LayoutInflater layoutInflater;
View headerView;
layoutInflater = LayoutInflater.from(this);
headerView = layoutInflater.inflate(R.layout.layout_headerview, null);
//add it in your listview
listView.addHeaderView(headerView);
// to access headerView widgets you may use below,
iv_overlay = (ImageView) headerView.findViewById(R.id.iv_overlay);
【讨论】:
以上是关于scrollview下Expandable Listview的setOnScrollListener()的主要内容,如果未能解决你的问题,请参考以下文章
swift Swift collaspable或expandable tableview
Expandable UICollectionViewCell 重新定位问题
如何在QML中设计一个expandable ListView