我在Firebaseui recyclerview上工作,当我单击列表项目时,我想创建一个对话框片段。要创建一个新片段,我必须从静态类调用getFragmentManager()
。错误由IDE给出。我无法将参数传递给静态视图持有人类,因为它是由Firebase Recycler适配器直接实例化的。
这是适配器的代码段:
mAdapter = new FirebaseRecyclerAdapter<Course, CourseViewHolder>(
Course.class,
R.layout.list_item_course,
CourseViewHolder.class,
mDatabaseReference
) {
静态类代码在这里:
private static class CourseViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
TextView textView;
public CourseViewHolder(View itemView) {
super(itemView);
textView = (TextView) itemView.findViewById(R.id.list_item_course_title_text_view);
}
@Override
public void onClick(View v) {
FragmentManager manager = getFragmentManager();
CourseOperationFragment CourseOperationFragment = new CourseOperationFragment();
CourseOperationFragment.show(manager, DIALOG_OPERATION);
}
}
您可以通过在视图上调用getContext()
来获取与视图关联的Context
。然后,您可以检查该上下文是否是instanceof
FragmentActivity
。如果是这样,那么您可以将Context
施放到FragmentActivity
,并在其上调用方法来操纵其片段。