FirebaseRecyclerAdapter & lt; Должности, PostsViewHolder & gt; ошибка, студия Android [дубликат]

== сравнивает ссылки на объекты в Java и не является исключением для объектов String.

Для сравнения фактического содержимого объектов (в том числе String) необходимо использовать equals.

Если сравнение двух объектов String с использованием == оказывается true, это связано с тем, что объекты String были интернированы, а виртуальная машина Java имеет несколько ссылки указывают на тот же экземпляр String. Не следует ожидать сравнения одного объекта String, содержащего то же содержимое, что и другой объект String, используя == для оценки как true.

3
задан Peter Haddad 13 January 2018 в 16:32
поделиться

1 ответ

Конструктор классов 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

5
ответ дан Frank van Puffelen 17 August 2018 в 13:29
поделиться
  • 1
    О, спасибо, Питер, я попробую и скажу вам – HemalHerath 18 November 2017 в 11:12
  • 2
    @HemalHerath хорошо добавляет переменную (параметры или любое имя, которое вы хотите) в firebaserecycleradapter, у вас не было этого – Peter Haddad 18 November 2017 в 11:13
  • 3
    Примечание: выше setQuery вам, возможно, придется написать это .setLayout(R.layout.your_layoutrow) – Peter Haddad 20 December 2017 в 15:43
Другие вопросы по тегам:

Похожие вопросы: