从漫画适配器中的Activity外部调用startActivity()如何解决这一问题

时间:2019-02-23 08:07:22

标签: java android android-studio click onitemclicklistener

你好朋友,我是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 :(得分:0)

您有2个选择:

选项1:

使用

 implements View.OnClickListener

在活动结束后进行设置

myViewHolder.setRecyclerItemClickListener(this);

然后您可以从已实现的方法中调用 startActivity

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

选项2:

使用最终变量:

 final Activity activity = this;

,然后在您的clickListener中调用变量

activity.startActivity()