2017-12-11 9 views
0

私はRecyclerView、CardView、およびアダプタを持つシンプルなコードを持っています。 Firestoreからデータを取得します。トップに戻るRecyclerView Firestore

問題:

私は例えば、出版フィードを持っています。このフィードには別の画面を表示するボタンがあります。

この2番目の画面では、返品方法として使用します。完了。

しかし、問題は、フィードが大きく、第2の画面から最初の画面に戻ることです。RecyclerViewは最初に移動します。

フィードが含まれているアクティビティに戻るときに、上にRecyclerViewを開始できない方法はありますか?

サンプル画像:

1 - ポストを楽しんだユーザーを見るためにクリックされた最初の画面。 (この画面は断片である。)

enter image description here

2 - ポストを気に入ったユーザーの一覧画面。

enter image description here

3 - 最初の画面がありますが、復帰後。この画面は常に先頭に戻ります。

enter image description here

感謝!!

EDIT:フラグメントで

コードアダプタ+ recyclerview:

/* Recycler */ 
     mCardFeedList = (RecyclerView) view.findViewById(id.cardFeedUser_list); 
     mCardFeedList.setHasFixedSize(true); 
     mCardFeedList.setItemViewCacheSize(20); 
     mCardFeedList.setDrawingCacheEnabled(true); 


     mAdapter = new PostsAdapter(mQueryNew, this){ 

      @Override 
      protected void onDataChanged() { 

       if (getItemCount() == 0) { 
        mCardFeedList.setVisibility(View.GONE); 
        //mTxtVazio.setVisibility(View.VISIBLE); 

       } else { 
        mCardFeedList.setVisibility(View.VISIBLE); 
        //mTxtVazio.setVisibility(View.GONE); 
       } 


      } 
     }; 

     mCardFeedList.setLayoutManager(new LinearLayoutManager(getActivity().getApplication())); 
     mCardFeedList.setAdapter(mAdapter); 

答えて

0

これを解決するには、RecyclerView.Adapterから、次のメソッドをオーバーライドする必要があります。

RecyclerViewによって呼び出され
onBindVIewHolder(viewholder, position) 

指定された位置にデータを表示します。

したがって、このビューに保持するデータをバインドして、ビューに正しいビューステートを設定することができます。

+0

フラグメントで置き換えますか?どうすればいい? @AlexMamo – TiagoIB

+0

置き換えずに、そのメソッドをオーバーライドします。 –

+0

はい。私はその断片の中でどうすればいいのですか?手伝ってくれませんか? – TiagoIB

関連する問題