2017-02-18 72 views
0

我有這樣的代碼:實現RecyclerView.OnScrollChangeListener {api 23 to api 15示例?

public class UserAreaActivity extends AppCompatActivity implements 
RecyclerView.OnScrollChangeListener { 

這:

//Adding an scroll change listener to recyclerview 
    recyclerView.setOnScrollChangeListener(this); 

OnScrollChangeListener和setOnScrollChangeListener不API工作23.下文

要在API 15工作,例如,我讀在另一篇文章中用addOnScrollListener代替。問題是當我將OnScrollChangeListener更改爲addOnScrollListener時,它給了我一個Cannot resolve symbol

我的問題是,我如何更改上面的代碼在23下面的API中工作?

回答

1

我使用的是addOnScrollListener,它在支持庫24.2.0中工作正常。

我重寫兩種方法onScrollStateChangedonScrolled

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 
    } 
}); 
1

這是低於超過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 
    } 
     }); 

您可以this.You收到此錯誤,因爲RecyclerView使用它。 OnScrollListener是一個不是接口的類,所以你不能直接實現它。