2017-06-02 67 views
0

我在哪里添加代码?我搜索了很多答案,但无法找到在我的代码中添加的确切位置。帮我出如何将新帖子添加到recyclerview的顶部?

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

你的问题setStackFromEnd(boolean)方法似乎并不清楚我的。也许https://stackoverflow.com/help/how-to-ask可以帮助你改善你的问题。 – Markus

回答

0

看来,
你在你的应用程序中使用火力地堡数据库!并希望将新帖子添加到顶部。实际上,Firebase将推到最后位置。

因此,
您可以做的是,使用orderBy("child")插入发布时间以及所有信息,然后查询数据库以按时间排序。现在


你只需要通过DESC为了通过客户端进行重新排序此列表,或使用recyclerview

+0

newPost.child(“timestamp”)。setValue(ServerValue.TIMESTAMP); 如何添加负时间戳值以降序排列? –

+0

您不必使用负时间戳。相反,'setStackFromEnd(boolean)'会为你解决问题。 – Wizard

相关问题