Как запустить Activity из представления Non Activity в Android, используя Kotlin - PullRequest
0 голосов
/ 05 ноября 2019

Мне нужно создать новое намерение и запустить его с помощью адаптера для класса recyclerView kotlin.

Я пытался addOnClickListener на нужном предмете. затем создайте намерение и запустите его.

Вот код:

        mDressImage1 = itemView.findViewById(R.id.dressImage_1)
        mDressImage1!!.setOnClickListener {
                            val detailsActivity = Intent(context, DressDetailsActivity::class.java)
                        context!!.startActivity(detailsActivity)
                    }

Ожидается, что он будет работать нормально, но верните мне это сообщение об ошибке: Attempt to invoke virtual method 'java.lang.String android.content.Context.getPackageName()' on a null object reference

, и он падаеткаждый раз, когда я нажимаю на вид.

1 Ответ

2 голосов
/ 05 ноября 2019

Основная причина - ваш «контекст» пуст. попробуйте использовать контекст из itemView, как показано ниже:

mDressImage1 = itemView.findViewById(R.id.dressImage_1)
        mDressImage1!!.setOnClickListener {
                            val detailsActivity = Intent(itemView.getContext(), DressDetailsActivity::class.java)
                        itemView.getContext().startActivity(detailsActivity)
                    }

Проголосуйте, если это работает.

Спасибо.

Happy Coding.

...