我在Scrollview中使用了大约27个可扩展列表视图(在Scrollview中滚动,而不是具有父,子关系的滚动)(一个在选择一些文本后一次可见)。我想在此处添加更多负载,同时用户在滚动listview时到达最后一项。但是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");
}
}
}
});
答案 0 :(得分:0)
如果要在scrollview下使用Expandable Listview的setOnScrollListener(), 你不能在scrollview中使用它,但你可能有另一个解决方案,因为我已经使用并解决了我的问题。
您可以简单地删除Scrollview和listview上方的标题布局,并仅将listview保留在布局文件中。 然后使用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);