2017-05-09 22 views
0

我已经创建了listview,其中包含来自firebase的数据。现在,我想将这些数据添加到表格中,但我不知道如何去做。从firebase数据到表

这里是我的代码:

DatabaseReference mDatabase = FirebaseDatabase.getInstance().getReference("Highscore"); 
    mDatabase.addValueEventListener(new ValueEventListener() { 
     @Override 
     public void onDataChange(DataSnapshot dataSnapshot) { 
      final List<String> areas = new ArrayList<String>(); 
      for (DataSnapshot postSnapshot : dataSnapshot.getChildren()) { 
       Score score = postSnapshot.getValue(Score.class); 
       areas.add(score.getName()+" "+score.getLevel()+" "+score.getScore()); 
      } 
      ListView highScoreSpin = (ListView)findViewById(R.id.list); 
      ArrayAdapter<String> areasAdapter = new ArrayAdapter<String>(HighscoreActivity.this, android.R.layout.simple_list_item_1, areas); 
      areasAdapter.setDropDownViewResource(android.R.layout.simple_list_item_1); 
      highScoreSpin.setAdapter(areasAdapter); 
     } 

     @Override 
     public void onCancelled(DatabaseError error) { 
      // Failed to read value 

     } 
    }); 

回答

0

score.getName()score.getLevel()score.getScore()可以easely将其添加到一个TableView。请阅读此post以了解如何完成此操作。

请记住把这行代码放在onDataChange()方法之外。

ListView highScoreSpin = (ListView)findViewById(R.id.list); 
ArrayAdapter<String> areasAdapter = new ArrayAdapter<String>(HighscoreActivity.this, android.R.layout.simple_list_item_1, areas); 
areasAdapter.setDropDownViewResource(android.R.layout.simple_list_item_1); 
highScoreSpin.setAdapter(areasAdapter); 

希望它有帮助。