У меня есть очень простой Firebase базы данных, которая выглядит следующим образом: Как отобразить точное количество элементов из базы данных Firebase в ListView с помощью FirebaseListAdapter с Android?
Это моя модель:
public class ShoppingListModel {
private String shoppingListName;
private Map<String, String> usersMap;
public ShoppingListModel() {}
public void setShoppingListName(String shoppingListName) {this.shoppingListName = shoppingListName;}
public String getShoppingListName() {return shoppingListName;}
public void setUsersMap(Map<String, String> usersMap) {this.usersMap = usersMap;}
public Map<String, String> getUsersMap() {return usersMap;}
}
Все, что я хочу сделать, это для отображения в ListView
только списках, которые принадлежат один пользователь и имеет значение true
. С помощью этого кода:
Query query = databaseReference.child("ShoppingLists").orderByChild("shoppingListName");
firebaseListAdapter = new FirebaseListAdapter<ShoppingListModel>(this, ShoppingListModel.class, android.R.layout.simple_list_item_1, query) {
@Override
protected void populateView(View v, ShoppingListModel slm, int position) {
for (Map.Entry<String, String> entry : slm.getUsersMap().entrySet()) {
String key = entry.getKey();
String value = entry.getValue();
if (key.equals("[email protected]l,com") && value.equals("true")) {
((TextView)v.findViewById(android.R.id.text1)).setText(slm.getShoppingListName());
}
}
}
};
ListView listView = (ListView) findViewById(R.id.list_view);
listView.setAdapter(firebaseListAdapter);
Я получаю пустой вид, как показано на изображении ниже.
Как я могу отобразить элементы в ListView
правильно?
Да, это сработало очень хорошо. Спасибо! –