Как получить данные из базы данных Firebase в реальном времени в ListView? - PullRequest
0 голосов
/ 18 января 2019
-Quiz
  -MCQ
    -Question
       -1831
         -783444
           -//still got data
         -234567
           -//still got data

Выше представлена ​​моя база данных Firebase в реальном времени, и я хочу показать только 783444 и 234567 для моих ListView и кликабельна для следующего действия.

Пожалуйста, дайте несколько советов, чтобы решить мою проблему. Большое спасибо.

1 Ответ

0 голосов
/ 19 января 2019

Чтобы получить только эти ключи, 783444 и 234567 в ListView, используйте следующие строки кода:

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference ref = rootRef.child("Quiz").child("MCQ").child("Question").child("1831");
ValueEventListener valueEventListener = new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        ArrayList<String> list = new ArrayList<>();
        for(DataSnapshot ds : dataSnapshot.getChildren()) {
            String key = ds.getKey();
            list.add(key);
        }
        ListView listView = (ListView) findViewById(R.id.list_view);
        ArrayAdapter<String> arrayAdapter = new ArrayAdapter<>(getApplicationContext(), android.R.layout.simple_list_item_1, list);
        listView.setAdapter(arrayAdapter);

        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
                //Go to next activity
            }
        });
    }

    @Override
    public void onCancelled(@NonNull DatabaseError databaseError) {}
};
ref.addListenerForSingleValueEvent(valueEventListener);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...