Вызов startActivity () извне Activity в комическом адаптере, как решить эту проблему - PullRequest
0 голосов
/ 23 февраля 2019

Привет, друзья! Я новичок в проекте Android. У меня проблема с перепроверкой прослушивателя кликов. Пожалуйста, проверьте код ниже моего проекта и помогите мне, ребята. Как мне выйти из этой проблемы? Вот мой выходной логкат моего проекта.вот logcat

at android.app.ContextImpl.startActivity(ContextImpl.java:1238)
    at android.app.ContextImpl.startActivity(ContextImpl.java:1225)
    at com.kd.book.Adapter.MyComicAdapter$1.onClick(MyComicAdapter.java:60)
    at com.kd.book.Adapter.MyComicAdapter$MyViewHolder.onClick(MyComicAdapter.java:96) 

Мой код:

    myViewHolder.setRecyclerItemClickListener(new IRecyclerItemClickListener(){ 

@Override 
public void onClick(View view, int position) {
    //save the comic selected 

    Common.comicSelected = comicList.get(position);

    context.startActivity(new Intent(context,ChapterActivity.class)); } }); } 

1 Ответ

0 голосов
/ 23 февраля 2019

У вас есть 2 варианта:

Опция 1:

используйте

 implements View.OnClickListener

в конце вашей деятельности и установите

myViewHolder.setRecyclerItemClickListener(this);

затем вы можете вызвать startActivity из реализованного метода:

@Override
public void onClick(View v) {
    startActivity()
}

Опция 2:

использовать конечную переменную:

 final Activity activity = this;

и затем вызовите переменную в вашем clickListener

activity.startActivity()
...