2017-06-02 1 views
0

Wo und was soll ich in meinen Code einfügen? Ich habe viele Antworten gesucht, konnte aber nicht den genauen Ort in meinem Code finden. Helfen Sie mirWie kann ich einen neuen Beitrag an die Spitze der Recyclerview hinzufügen?

private void startPosting() { 
     mProgress.setMessage("Posting to Blog...."); 

    final String title_val = mPostTitle.getText().toString().trim(); 
    final String desc_val = mPostdesc.getText().toString().trim(); 
    final String date_val=txtDate.getText().toString().trim(); 

    if (!TextUtils.isEmpty(title_val) && !TextUtils.isEmpty(desc_val) && mImageUri != null) { 

     mProgress.show(); 

     StorageReference filepath =mStorage.child("Blog_Images").child(mImageUri.getLastPathSegment()); 

     filepath.putFile(mImageUri).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() { 
      @Override 
      public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) { 

       @SuppressWarnings("VisibleForTests") Uri downloadUrl = taskSnapshot.getDownloadUrl(); 

       DatabaseReference newPost = mDatabase.push(); 
       newPost.child("title").setValue(title_val); 
       newPost.child("desc").setValue(desc_val); 
       newPost.child("Date").setValue(date_val); 
       newPost.child("image").setValue(downloadUrl.toString()); 

       mProgress.dismiss(); 

       startActivity(new Intent(PostActivity.this,MainActivity.class)); 

      } 
+0

Ihre Frage scheint nicht mir klar zu sein. Vielleicht hilft https://stackoverflow.com/help/how-to-ask bei der Verbesserung Ihrer Frage. – Markus

Antwort

0

Scheint,
Sie verwenden Firebase-Datenbank in Ihrer Anwendung! und möchte einen neuen Beitrag an die Spitze von allen hinzufügen. Praktisch Firebase wird den neuen Knoten auf die letzte Position schieben.

So,
Was Sie tun können, ist, fügen Sie die Zeit des Beitrags zusammen mit allen Informationen, und Abfrage der Datenbank, um nach Zeit geordnet Liste mit orderBy("child") zu erhalten.

Nun
Sie müssen nur von DESC um von Client-Seite diese Liste neu zu ordnen, oder verwenden Sie setStackFromEnd(boolean) Methode auf recyclerview

+0

newPost.child ("Zeitstempel"). SetValue (ServerValue.TIMESTAMP); Wie kann ich einen negativen Zeitstempelwert hinzufügen, um die Reihenfolge in absteigender Reihenfolge zu ändern? –

+0

Sie müssen keinen negativen Zeitstempel verwenden. Stattdessen wird 'setStackFromEnd (boolean)' den Trick für Sie erledigen. – Wizard

Verwandte Themen