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()的主要内容,如果未能解决你的问题,请参考以下文章

四种方案解决ScrollView嵌套ListView问题

swift Swift collaspable或expandable tableview

Expandable UICollectionViewCell 重新定位问题

如何在QML中设计一个expandable ListView

如何使用YAZIO中的几个列表(RecyclerView)生成ScrollView?

使用自定义适配器实现 Expandable ListView