2016-12-25 6 views
-1

Это мой код, показывающий всю информацию, возвращаемую с Fire-base, к которой приложение подключено в одном элементе списка.Информация о Firebase отображается в одном элементе списка ListView

Может кто-нибудь помочь с кодом.

public class usernews extends AppCompatActivity { 
    FirebaseDatabase database = FirebaseDatabase.getInstance(); 
    final DatabaseReference myRef = database.getReference("allNews"); 
    private ListView lsStudents; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_usernews); 
     lsStudents=(ListView) findViewById(R.id.list); 
     ... 
    } 
    ... 
} 

Я думаю, что ошибка, где некоторые здесь, но я не могу найти его

myRef.addValueEventListener(new ValueEventListener() { 
    @Override 
    public void onDataChange(DataSnapshot dataSnapshot) { 
     // This method is called once with the initial value and again 
     // whenever data at this location is updated. 

     final List<String> areas = new ArrayList<String>(); 
     for (DataSnapshot areaSnapshot: dataSnapshot.getChildren()) { 
      String value1 = String.valueOf(dataSnapshot.getValue()); 
      areas.add(value1); 
     } 

     String value2 = String.valueOf(dataSnapshot.getValue()); 
     Log.d("allNews", "Value is: " + value2); 

     ArrayAdapter<String> areasAdapter = new ArrayAdapter<String>(usernews.this,android.R.layout.simple_expandable_list_item_1, areas); 
     lsStudents.setAdapter(areasAdapter); 
    } 
}); 

Скриншот Firebase данных. Link

Скриншота после обращения правильного узла Link

+0

Может ли вы показать структуру узла ваших Firebase Дейтов – Rahul

+0

Добавить скриншот вашей структуры узла – Rahul

+0

i'v добавить ссылку на изображение выше – Ali

ответ

1

Изменения DataBaseReference.

Используйте этот

final DatabaseReference myRef = database.getReference("allNews").child("allNews"); 

Вместо

final DatabaseReference myRef = database.getReference("allNews"); 

Ваших фактических данных внутри "allNews" тега. В конце концов его дочерний узел также имеет одно и то же имя.

И затем обновите свою петлю. Вы получаете данные из неправильной ссылки.

final List<String> areas = new ArrayList<String>(); 
for (DataSnapshot areaSnapshot: dataSnapshot.getChildren()) { 
    // Get value from areaSnapShot not from dataSnapshot 
    String value1 = String.valueOf(areaSnapshot.getValue()); 
    areas.add(value1); 
} 
+0

Я изменил его, но он все еще дает мне много элементов списка, но все они имеют всю информацию о бомбе. – Ali

+0

Какой ответ вы получаете, что вы имеете в виду по всей информации о бомбе – Rahul

+0

Я добавил еще одну ссылку, которую вы можете проверить. – Ali

 Смежные вопросы

  • Нет связанных вопросов^_^