我正在浏览 git hub 中可用的 Infinite Scroll Listview 代码。 https://github.com/weixiao1984/Android-Infinite-Scroll-Listview . 我发现, super 关键字在 Android Studio 中显示为错误,而在 Eclipse 中则完全没问题。 请检查以下使用 super 关键字的代码。 InfiniteScrollListView.super 行显示错误。由于这个错误,我无法在 Android Studio 中构建项目。请帮助我解决 Android Studio 的问题。提前致谢。
@Override
public void setAdapter(ListAdapter adapter) {
// Force the list view to accept its own type of adapter
if (!(adapter instanceof InfiniteScrollListAdapter)) {
throw new IllegalArgumentException(InfiniteScrollListAdapter.class.getSimpleName() + " expected");
}
// Pass information to adaptor
InfiniteScrollListAdapter infiniteListAdapter = (InfiniteScrollListAdapter) adapter;
infiniteListAdapter.setLoadingMode(loadingMode);
infiniteListAdapter.setStopPosition(stopPosition);
infiniteListAdapter.setInfiniteListPageListener(this);
this.setOnScrollListener(infiniteListAdapter);
// Workaround to keep spaces for header and footer
View dummy = new View(getContext());
addLoadingView(InfiniteScrollListView.super,dummy);
super.setAdapter(adapter);
removeLoadingView(InfiniteScrollListView.super, dummy);
}
添加加载方式
//Add loading view method
private void addLoadingView(ListView listView, View loadingView) {
if (listView == null || loadingView == null) {
return;
}
// Avoid overlapping the header or footer
if (!loadingViewVisible) {
if (loadingMode == LoadingMode.SCROLL_TO_TOP) {
// Add loading view to list view header when scroll up to load
listView.addHeaderView(loadingView);
} else {
// Add loading view to list view footer when scroll down to load
listView.addFooterView(loadingView);
}
loadingViewVisible = true;
}
}
最佳答案
根据评论中的讨论。 addLoadingView(ListView listView, View loadingView);
方法需要一个 ListView
。如果您有 InfiniteScrollListView
的实例。你可以把它传递给这个方法。因为 InfiniteScrollListView
是一个 ListView
。
关于android - Android Studio 中的“super”关键字错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34735495/