How to know when the RecyclerView has finished laying down the items?

后端 未结 12 1425
野的像风
野的像风 2020-11-29 20:06

I have a RecyclerView that is inside a CardView. The CardView has a height of 500dp, but I want to shorten this height if the Re

12条回答
  •  独厮守ぢ
    2020-11-29 20:56

    // Another way
    
    // Get the values
    Maybe> getItemClass(){
        return /*    */
    }
    
    // Create a listener 
    void getAll(DisposableMaybeObserver> dmo) {
        getItemClass().subscribeOn(Schedulers.computation())
                      .observeOn(AndroidSchedulers.mainThread())
                      .subscribe(dmo);
    }
    
    // In the code where you want to track the end of loading in recyclerView:
    
    DisposableMaybeObserver> mSubscriber = new DisposableMaybeObserver>() {
            @Override
            public void onSuccess(List item_list) {
                adapter.setWords(item_list);
                adapter.notifyDataSetChanged();
                Log.d("RECYCLER", "DONE");
            }
    
            @Override
            public void onError(Throwable e) {
                Log.d("RECYCLER", "ERROR " + e.getMessage());
            }
    
            @Override
            public void onComplete() {
                Log.d("RECYCLER", "COMPLETE");
            }
        };
    
    void getAll(mSubscriber);
    
    
    //and
    
    @Override
    public void onDestroy() {
        super.onDestroy();
        mSubscriber.dispose();
        Log.d("RECYCLER","onDestroy");
    }
    

提交回复
热议问题