==
сравнивает ссылки на объекты в Java и не является исключением для объектов String
.
Для сравнения фактического содержимого объектов (в том числе String
) необходимо использовать equals
.
Если сравнение двух объектов String
с использованием ==
оказывается true
, это связано с тем, что объекты String
были интернированы, а виртуальная машина Java имеет несколько ссылки указывают на тот же экземпляр String
. Не следует ожидать сравнения одного объекта String
, содержащего то же содержимое, что и другой объект String
, используя ==
для оценки как true
.
Конструктор классов Firebase...Adapter
изменился в FirebaseUI версии 3. Учитывая этот запрос:
Query query = FirebaseDatabase.getInstance()
.getReference()
.child("users")
.equalTo(name);
Если вы используете версию 3 или выше, вы используете FirebaseRecyclerOptions
:
FirebaseRecyclerOptions<model_class_name> options =
new FirebaseRecyclerOptions.Builder<model_class_name>()
.setQuery(query, model_class_name.class)
.build();
Затем объявите FirebaseRecyclerAdapter:
FirebaseRecyclerAdapter adapter = new FirebaseRecyclerAdapter<Chat, ChatHolder>(options) {
добавьте переменную options
, как указано выше. Это переменная класса FirebaseRecyclerOptions
. Затем добавьте элементы, которые вы должны использовать onBindViewHolder
, так как последняя версия firebase ui:
@Override
protected void onBindViewHolder(Holder holder, int position, model_class_name model) {
// Bind the class object to the holder
// ...
}
Для получения дополнительной информации проверьте это: https://github.com/firebase/FirebaseUI-Android/tree/master/database
setQuery
вам, возможно, придется написать это.setLayout(R.layout.your_layoutrow)
– Peter Haddad 20 December 2017 в 15:43