2017-02-12 40 views
0

我目前正在创建一个用户可以发布的发布系统。当用户查看帖子时,他们将能够转到下一个帖子,即“下一帖”按钮。如何调用存储在Firebase中的下一个ID?

nextpost = (Button) findViewById(R.id.nextpost); 
nextpost.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     ValueEventListener postListener = new ValueEventListener() { 
      @Override 
      public void onDataChange(DataSnapshot dataSnapshot) { 
       post = dataSnapshot.getValue(FirebaseDatabase.class); 
       checkpostid = marker.getSnippet(); 
       checkpostid += 1; 
       Toast.makeText(MainActivity.this, 
            "" + checkpostid, Toast.LENGTH_SHORT).show(); 
       ViewPostDetails(); 
      } 

      public void onCancelled(DatabaseError databaseError) { 
       // Getting Post failed, log a message 
       Log.w(TAG, "loadPost:onCancelled", databaseError.toException()); 
      }; 
     }; 
     mDatabaseComPostRef.addValueEventListener(postListener); 

“checkpostid”会检查帖子的当前ID,但我无法增加它并转到下一个ID。

在我们的数据库截图中,例如,在表“Post”中,假设当前的帖子是“KcY8F7H-jW_4sW4FoKP”。一旦用户点击“nextpost”按钮,它应该调用Firebase数据库中的下一个ID“KcY8LxewB_SSKl-HYkW”。

链接到我们的数据库截图:

enter image description here

+2

您已经在您的问题中包含了JSON树图片的链接。请用实际的JSON替换为文本,您可以通过单击[您的Firebase数据库控制台](https://console.firebase.google.com/project/_/database/data/)中的导出JSON链接轻松获取该文本。 。将JSON作为文本可以搜索,使我们能够轻松使用它来测试您的实际数据,并将其用于我们的答案中,并且通常只是一件好事。 –

回答

0

一个可能的解决方案是将生成的ID也保存在名为另一个帖子ID集合。所以你可以轻松地做你所需要的。

+0

你是什么意思?制作一个数组? –

+0

是的!一个id的数组。 – Eumagnun

+0

所以我不得不把所有保存的ID放入数组中?如果用户创建新帖子怎么办?有没有办法直接调用Firebase中的下一个元素? –

相关问题