2016-10-17 7 views
0

У меня есть приложение для Android, подключающееся к Firebase, я использую FirebaseListAdapter для заполнения настраиваемого макета данными из моего бафф-кода.Запрос FirebaseListAdapter для возврата только определенных дочерних элементов к пользовательскому представлению

Работает должным образом. Но можно ли запросить эти данные только для возврата определенных записей.

Например, если бы это был образец моих данных:

"students" : { 
    "-KTA7xijNrK1SK98rZns" : {  
    "name" : "Ro",  
    "age" : 28,   
    "email" : "[email protected]" 
    }, 

"-KTABiJuH2-RXwmp0Rcu" : { 
    "name" : "Tom",  
    "age" : 22,   
    "email" : "[email protected]" 
    }... 

Так в настоящее время все студенты заселяются в ListAdapter через настраиваемое представление, которое является то, что я хочу для начальной загрузки, но основано на нажмите кнопку, если я хочу показывать только учеников в определенном возрасте или студентов с определенным именем, возможно ли каким-то образом интегрировать эти запросы в FirebaseListadapter?

Текущий код адаптера.

//Firebase DB srefrence 
    mDatabaseStolen = FirebaseDatabase.getInstance().getReference().child("students"); 

FirebaseListAdapter<Student> bikeAdapter = new FirebaseListAdapter<Studnet> 
      (getActivity(), Student.class, R.layout.list_item, mDatabase) { 
     @Override 
     protected void populateView(View v, Student model, int position) { 


       // Find the TextView IDs of list_item.xml 
       TextView nameView = (TextView) v.findViewById(R.id.name); 
       TextView ageView = (TextView) v.findViewById(R.id.age); 
       TextView emailView = (TextView) v.findViewById(R.id.email); 

       //setting the textViews to Student data 
       nameView.setText(model.getname()); 
       ageView.setText(String.valueOf(model.getAge())); 
       emailView.setText(model.getEmail()); 
    } 
}; 

Любая помощь оценивается.

ответ

2

Вы можете построить FirebaseListAdapter на основе DatabaseReference или на основе Query. с DatabaseReference он отобразит все данные в определенном месте. Но когда вы используете Query, вы можете отобразить подмножество данных в этом месте.

Скажите, что вы хотите, чтобы показать только студентов в возрасте от 20 до 25 лет:

students = FirebaseDatabase.getInstance().getReference().child("students"); 
studentsQuery = students.orderByChild("age").startAt(20).endAt(25); 

bikeAdapter = new FirebaseListAdapter<Student> 
    (getActivity(), Student.class, R.layout.list_item, studentsQuery) { 

см также Firebase documentation on queries.

+0

Спасибо, это именно то, что я хочу. Я буду проверять документацию для получения дополнительной информации. – RoRo88

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

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