2017-10-16 6 views
0

通知に表示する掲示板アクティビティがあります。今私は最初の位置で最後の通知を印刷したい。逆の意味です。アンドロイドでfirebaseを使用してデータを逆順で印刷するには

  if (dataSnapshot.getValue() != null) { 
       Iterable<DataSnapshot> snapshotIterator = dataSnapshot.getChildren(); 
       Iterator<DataSnapshot> iterator = snapshotIterator.iterator(); 

       while (iterator.hasNext()) { 
        //notificationCount++; 
        DataSnapshot snapshot = iterator.next(); 
+0

FirebaseUIを使用している場合は、[@Alex Mamo's] [1]答えが元のリストと逆の順序で項目を記入して新しいリストを作成することができます。アダプタに送信します。 –

答えて

0

あなたが次のコード行を使用してくださいFirebaseUIを使用している場合:

LinearLayoutManager layoutManager = new LinearLayoutManager(getActivity()); 
layoutManager.setReverseLayout(true); 
layoutManager.setStackFromEnd(true); 
recyclerView.setLayoutManager(layoutManager) 
+0

いいえ私はfirebase UIを使用していません...実際に私の主な活動は、カスタム通知レイアウトの親である線形レイアウトを持っています.... –

+0

この場合、 'snapshotIterator'のすべての要素をリストに追加して使用しますコレクションのオフィシャル[doc](https://docs.oracle.com/javase/7/docs/api/java/util/Collections.html)に従って、そして最後のパスで 'reverseOrder(Comparator cmp)'アダプタに接続します。 –

+0

作業する必要があります。エラーは何ですか? 'onDataChange()'メソッドの中でリストを宣言して使用しましたか?これはあなたがする必要があるためです。 –

0

これが答えです。

この場合、snapshotIteratorのすべての要素をリストに追加し、コレクションのオフィシャルドキュメントに従ってreverseOrder(Comparator cmp)を使用し、最後にアダプターに渡します。 Alex Mamoさんのおかげで

関連する問題