我有这段代码:
public class UserAreaActivity extends AppCompatActivity implements
RecyclerView.OnScrollChangeListener {
和此:
//Adding an scroll change listener to recyclerview
recyclerView.setOnScrollChangeListener(this);
OnScrollChangeListener和setOnScrollChangeListener在23以下的API中不起作用。
例如,要在api 15上工作,我会在其他帖子中阅读以使用addOnScrollListener
代替。问题是,当我将OnScrollChangeListener更改为addOnScrollListener时,它为我提供了Cannot resolve symbol
。
我的问题是,如何更改上面的代码才能在23以下的API中使用?
答案 0 :(得分:2)
这是低于23
recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
super.onScrollStateChanged(recyclerView, newState);
}
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
// your code
}
});
你可以使用它。你得到这个错误,因为RecyclerView.OnScrollListener是一个类而不是一个接口。所以你不能直接实现它。
答案 1 :(得分:1)
我正在使用addOnScrollListener
,它在支持库24.2.0上运行良好。
我覆盖了onScrollStateChanged
和onScrolled
两种方法:
myRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrollStateChanged(RecyclerView recyclerView,
int newState) {
super.onScrollStateChanged(recyclerView, newState);
// your code
}
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
// your code
}
});