Загруженные данные загружены, но не отображаются Android - PullRequest
0 голосов
/ 22 февраля 2019

Android Загрузить больше данных Firebase Проблема в том, что я обновляю фрагмент, чтобы загрузить некоторые предыдущие сообщения.Сообщения загружаются, но не отображаются, кроме как после изменения фрагментов и возврата к фрагменту чата.

связанный код OncreateView

  customrecyclerviewAdapter = new MyAdapter(chalist,this,getchatdata);

  //        mrefreshlayout.setEnabled(false);
    chalist.setAdapter(customrecyclerviewAdapter);

    refreshing();

связанные функции

Обновление

protected void refreshing(){
    usechildlistner();
    mrefreshlayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
        @Override
        public void onRefresh() {
            mCurrentpage++;
            itempos=0;

            loadMoreData();
        }
    });
}

LoadMore

private void loadMoreData(){
    chatdatabase.orderByKey().endAt(mLastKey).limitToLast(7).addChildEventListener(new ChildEventListener() {
        @Override
        public void onChildAdded(DataSnapshot dataSnapshot, String s) {
            chatdatabaseinserver cdbis = dataSnapshot.getValue(chatdatabaseinserver.class);

            String mLastKeyalt = dataSnapshot.getKey();
            if (mPreviousKey.equals(mLastKeyalt)){
                getchatdata.add(itempos++,cdbis);
            }else{
                mPreviousKey =mLastKey;
            }

            if(itempos == 1){
                mLastKey = mLastKeyalt;
            }

            Log.d("TotalKeys","LastKey: "+mLastKey+" previous key:"+mPreviousKey+" messagekey"+ mLastKeyalt);

            synchronized (customrecyclerviewAdapter) {
                customrecyclerviewAdapter.notifyDataSetChanged();
            }mrefreshlayout.setRefreshing(false);
            chatlayout.scrollToPositionWithOffset(7,0);

        }

    });

    onStart();
    //        mCurrentpage++;
//        usechildlistner();
}

Последние данные (первые данные, загруженные при открытии фрагов)

 public void usechildlistner(){

    chatdatabase.limitToLast(mCurrentpage*total_items_to_Load 
).addChildEventListener(new ChildEventListener() {
        @Override
        public void onChildAdded(DataSnapshot dataSnapshot, String s) {
            chatdatabaseinserver cdbis = 
  dataSnapshot.getValue(chatdatabaseinserver.class);
            int i = 0;
            if(itempos == 1){
                String mLastKeyalt = dataSnapshot.getKey();

   //                    setItempos(itempos,mLastKeyalt,mLastKeyalt);
                mLastKey = mLastKeyalt;
                mPreviousKey = mLastKeyalt;

            }

            itempos++;
            getchatdata.add(cdbis);

            customrecyclerviewAdapter.notifyDataSetChanged();
            chalist.scrollToPosition(getchatdata.size()-1);

        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...