我正在android studio中创建一个界面。我正在为我的RecyclerView执行onClick功能。
在这里,您可以看到我的HomeFragment,它包含RecyclerView,因此实现了onEventListener方法。
public class HomeFragment extends Fragment implements HomeAdapter.onEventListener我还必须更改适配器中的构造函数。
public HomeAdapter(Activity ctx, ArrayList<EventPost> Arr, onEventListener onEventListener) {
this.ctx = ctx;
this.items = Arr;
this.mOnEventListener = onEventListener;
}出于这个原因,在我的HomeFragment.java中,我必须在初始化HomeAdapter时更改参数。
homeAdapter = new HomeAdapter(getActivity(),event_list, this);在这里,我可以使用它来传递onEventListener。但是,我稍后也会在应用程序中初始化HomeAdapter,但这种初始化是在方法中进行的,该方法将" this“分配给了与之前不同的内容。由于这个原因,它不能与此一起使用,并且需要onEventListener类型的参数。
如何在第二次初始化中更改"this“,使其全局工作?
发布于 2019-10-20 20:36:44
在第二个方法中使用HomeFragment.this。
homeAdapter = new HomeAdapter(getActivity(),event_list, HomeFragment.this);
发布于 2019-10-20 19:33:12
尝试使用类名来传递它,比如onEventListener.this,而不是" this“。
homeAdapter =新的HomeAdapter(getActivity(),event_list,onEventListener.this);
https://stackoverflow.com/questions/58472337
复制相似问题