Есть ли способ получитьApplicationContext в моей деятельности (для приложения просмотра переработчика)

вот моя проблема

Он говорит, что ему нужен контекст firebase, вот что сказала студия Android;

Требуемый тип: com.google.firebase.database.core.Context
При условии: android.content.Context

это метод onstart, ошибка в viewHolder.setDetails(getApplicationContext......

@Override
protected void onStart() {
    super.onStart();
    FirebaseRecyclerAdapter<Model, ViewHolder> firebaseRecyclerAdapter =
            new FirebaseRecyclerAdapter<Model, ViewHolder>(Model.class, R.layout.row, ViewHolder.class, mRef) {
                @Override
                protected void populateViewHolder(ViewHolder viewHolder, Model model, int i) {

                    viewHolder.setDetails(getApplicationContext(), model.getTitle(), model.getDescription(), model.getImage());

                }
            };

ПРИМЕЧАНИЕ: это действие не является фрагментом, это обычное действие

public class ViewHolder extends RecyclerView.ViewHolder {

View mView;

public ViewHolder( View itemView) {
    super(itemView);

    mView = itemView;

}

public void setDetails (Context ctx, String title, String description, String image){

    TextView mTitleView = mView.findViewById(R.id.rTitleTV);
    TextView mDetailTv = mView.findViewById(R.id.rDescriptionTV);
    ImageView mImageTv = mView.findViewById(R.id.rImageView);

    mTitleView.setText(title);
    mDetailTv.setText(description);
    Picasso.get().load(image).into(mImageTv);


}
}

Возможно, вы использовали неправильный импорт в классе ViewHolder для Context или опубликуйте свой ViewHolder

OhhhThatVarun 21.12.2020 12:22

ошибка: несовместимые типы: android.content.Context не может быть преобразован в com.google.firebase.database.core.Context viewHolder.setDetails(getApplicationContext(), model.getTitle(), model.getDescription(), model.getImage() ); это ошибка, которую я получил при запуске моего приложения

Isa 21.12.2020 12:23

Вы не читали мой комментарий?

OhhhThatVarun 21.12.2020 12:24

сейчас добавлю, спасибо

Isa 21.12.2020 12:25

я не заметил, извините

Isa 21.12.2020 12:26

Совет для профессионалов: вам не нужно передавать контекст, если у вас уже есть представление. Просто используйте контекст из представления. например: mView.getContext()

OhhhThatVarun 21.12.2020 12:29

о боже мой, это сработало. Я изменил это на это, и это сработало; viewHolder.setDetails(viewHolder, model.getTitle(), model.getDescription(), model.getImage());

Isa 21.12.2020 12:40
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
7
86
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Мне не нужно было передавать контекст, потому что у меня уже было представление. Поэтому я заменил getApplicationContext на viewHolder.

вот окончательный код;

viewHolder.setDetails(viewHolder, model.getTitle(), model.getDescription(), model.getImage());

**спасибо OhhhThatVarun за его потрясающую помощь/совет **

Другие вопросы по теме