从 FirebaseUI 的静态视图持有者 class 调用 getFragmentManager() 方法

Calling getFragmentManager() method from static view holder class of FirebaseUI

我正在处理 FirebaseUI RecyclerView,我想在单击列表项时创建一个对话框片段。要创建新片段,我必须从静态 class 调用 getFragmentManager()。错误由 IDE 给出。我无法将参数传递给静态查看器 class,因为它是由 Firebase 回收器适配器直接实例化的。

这里是 Adapter 的代码片段:

mAdapter = new FirebaseRecyclerAdapter<Course, CourseViewHolder>(
            Course.class,
            R.layout.list_item_course,
            CourseViewHolder.class,
            mDatabaseReference
    ) {

静态 class 代码在这里:

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,并在其上调用方法来操作其片段。