Android 替换回收器适配器中的碎片

Android 替换回收器适配器中的碎片,android,android-fragments,Android,Android Fragments,我正在开发一款android应用程序,将listview更改为recycler视图 问题 使用一个示例项目,我在adapter视图中处理对recylcer的单击。 然而,从这个适配器,我有一个非常有时间调用一个新片段 itemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //

我正在开发一款android应用程序,将listview更改为recycler视图

问题

使用一个示例项目,我在adapter视图中处理对recylcer的单击。 然而,从这个适配器,我有一个非常有时间调用一个新片段

    itemView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            //         android.app.FragmentManager fragmentManager = getFragmentManager();
            //        FragmentManager fragmentManager = ((Activity) context).getFragmentManager();

            //       FragmentManager manager = this.getSupportFragmentManager();
            //       FragmentManager manager= getContext().getFragmentManager();

            //       FragmentManager fragmentManager = newsAdapter().getActivity().getFragmentManager();
            //       getActivity().getFragmentManager();
            Log.i("RecyclerViewItemClic", String.valueOf(getLayoutPosition()));

            Log.i("RecyclerViewItemClic", personName.getText().toString());
            String idnum = String.valueOf(personName.getText());
            Log.i("RecyclerViewItemClic", idnum);
            Log.i("RecyclerViewItemClic", personAge.getText().toString());

            if (personName.getText().toString() .equals("1")) {
            /*
                fragmentManager.beginTransaction()
                        .replace(R.id.content_frame
                                ,new numNumbersFrag())
                        .commit();


            */
                ((FragmentActivity) context).getFragmentManager().beginTransaction()
                        .replace(R.id.content_frame, new numNumbersFrag())
                        .commit();


            }
        }
上面是我试图导致错误的代码

尝试调用虚拟方法“android.app.FragmentManager” 上的android.support.v4.app.FragmentActivity.getFragmentManager() 空对象

如果尝试使用getSupportFragmentManager(),或者导入片段而不是版本4,也会出现相同的错误

任何帮助都将不胜感激

谢谢你的改变

((FragmentActivity) context).getFragmentManager().beginTransaction()
                    .replace(R.id.content_frame, new numNumbersFrag())
                    .commit();

因为,在

public void onClick(View view)
view.getContext()将返回不为null的上下文

谢谢,

这也可以帮助您:

@Override
public void onClick(View v) {
    View view = v.getRootView();
    Activity activity = (Activity) view.getContext();
    activity.getFragmentManager().beginTransaction().replace(R.id.FrameLayout, fragment).commit();
}
在你的适配器类上试试这个


这个R.id.content框架在哪里?在问题中。
@Override
public void onClick(View v) {
    View view = v.getRootView();
    Activity activity = (Activity) view.getContext();
    activity.getFragmentManager().beginTransaction().replace(R.id.FrameLayout, fragment).commit();
}
((FragmentActivity)context).getSupportFragmentManager()
                        .beginTransaction()
                        .replace(R.id.frame_container, new YourFragment().addToBackStack("crop_type")
                        .commit();