Java android.widget.FrameLayout无法强制转换为androidx.recyclerview.widget.recyclerview
我正在对我的recycler视图执行刷卡刷新功能,但它不断出现无法转换的错误 以下是我的XML:Java android.widget.FrameLayout无法强制转换为androidx.recyclerview.widget.recyclerview,java,android,Java,Android,我正在对我的recycler视图执行刷卡刷新功能,但它不断出现无法转换的错误 以下是我的XML: announcement_recycler_view.xml 您正在膨胀一个FrameLayout并将其强制转换为RecyclerView,删除强制转换并使用findViewById查找您的RecyclerView 因此,您的代码应该如下所示: public View onCreateView(LayoutInflater inflater, ViewGroup container,
announcement_recycler_view.xml
您正在膨胀一个
FrameLayout
并将其强制转换为RecyclerView
,删除强制转换并使用findViewById
查找您的RecyclerView
因此,您的代码应该如下所示:
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(
R.layout.announcement_recycler_view, container, false);
announcementRecyclerView = view.findViewById(R.id.my_announcement_recycler_view);
RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(getActivity());
announcementRecyclerView.setLayoutManager(layoutManager);
//initializing the productlist
announcementList = new ArrayList<>();
// Session class instance
session = new SharedPrefManager(getActivity());
loadAnnouncement();
return view;
}
public View onCreateView(布局、充气机、视图组容器、,
Bundle savedInstanceState){
视图=充气机。充气(
R.layout.announcement\u recycler\u view,container,false);
announcementRecyclerView=view.findviewbyd(R.id.my\u announcement\u recycler\u view);
RecyclerView.LayoutManager LayoutManager=新的LinearLayoutManager(getActivity());
announcementRecyclerView.setLayoutManager(layoutManager);
//初始化产品列表
announcementList=newarraylist();
//会话类实例
会话=新的SharedPrefManager(getActivity());
loadAnnouncement();
返回视图;
}
ClassCastException表示您错误地强制转换组件,即:您将TextView强制转换为ImageView
因此,请确保在初始化recyclerView时未使用FrameLayouts ID
在您的第一个片段中,您提供的XML表示RecyclerView的ID为my_announcement\u recycler\u view
但是在您的类中,您正在像这样初始化您的RecyclerView
announcementRecyclerView = (RecyclerView) inflater.inflate(
R.layout.announcement_recycler_view, container, false)
announcementRecyclerView = (RecyclerView) inflater.inflate(
R.layout.my_announcement_recycler_view, container, false)
应该是这样的
announcementRecyclerView = (RecyclerView) inflater.inflate(
R.layout.announcement_recycler_view, container, false)
announcementRecyclerView = (RecyclerView) inflater.inflate(
R.layout.my_announcement_recycler_view, container, false)
请发布您的AnnouncementFragment.java类及其布局。Thanks@Krishnasheladiya嗨,我已经发了。布局是公告_recycler _view.xml。谢谢
announcementRecyclerView = (RecyclerView) inflater.inflate(
R.layout.my_announcement_recycler_view, container, false)