我应该用什么来替换错误的“this”上下文?

问题描述

我正在为我正在开发的应用的主页活动中的一部分创建回收视图。下面的代码实际上来自 Youtube 的一个人,我只是跟着它,它在主页 java 上工作。但是我决定将它放在一个片段中,所以我创建了一个片段,并将代码块从我的主页 XML 复制到我的片段 XML。我还将代码从我的主页 java 复制到片段 java。然而,这样做之后,上下文中的“this”现在在片段 java 中被标记为红色,即使它们在主页 java 中很好。我应该用什么来代替“这个”?

下面粘贴两块代码

private void setRecommendedRecycler(List<Recommended> recommendedList){
    recommendedRecycler = recommendedRecycler.findViewById(R.id.recyclerViewRecommended);
    RecyclerView.LayoutManager layoutManager = new linearlayoutmanager(this,RecyclerView.HORIZONTAL,false);
    recommendedRecycler.setLayoutManager(layoutManager);
    recommendedAdapter = new RecommendedAdapter(this,recommendedList);
    recommendedRecycler.setAdapter(recommendedAdapter);
}

private void setPastOrdersRecycler(List<PastOrders> pastOrdersList){
    pastOrdersRecycler= pastOrdersRecycler.findViewById(R.id.recyclerViewPastOrders);
    RecyclerView.LayoutManager layoutManager = new linearlayoutmanager(this,false);
    pastOrdersRecycler.setLayoutManager(layoutManager);
    pastOrdersAdapter = new PastOrdersAdapter(this,pastOrdersList);
    pastOrdersRecycler.setAdapter(pastOrdersAdapter);
}

解决方法

您可以使用:requireActivity() 或 requireContext() 顺便说一句:在继续构建您的应用之前,您应该了解 Activity 和 Fragment 之间的区别。