从静态视图持有人类别的firebaseui类调用getFragmentManager()方法



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

最新更新