引言:
之前,我曾经遇到一个问题,在写recyclerview的时候需要在adapter里面调用某个activity中的方法,我尝试了各种方法都没有成功。
解决:
我记得之前看过一些实战视频,里面的讲师曾说过activity就是context,所以其实我们只要在adapter的初始化操作时将活动作为一个context传给他就可以了,当然这个context的类型必须是某个活动,好了,上代码了。
实现:
1.首先在我写的活动SwustMovietListActivity里初始化adapter:
mAdapterNow = new SwustMovieListAdpter(1, this, mListDatasNow, mRecyclerViewNow);
context传入this。
2.接下来我们去adapter类中:
private SwustMovieListActivity mContext;
public SwustMovieListAdpter(int type, SwustMovieListActivity context, List<MovieListBean> data, RecyclerView recyclerView) {
this.mContext = context;
this.mDatas = data;
this.type = type;
this.mRecyclerView = recyclerView;
}
3.然后我们通过mContext点什么什么就可以实现对activity中各个方法的调用。