android值传递适配器到片段

android值传递适配器到片段,android,android-fragments,android-recyclerview,Android,Android Fragments,Android Recyclerview,我正在开发一个用于显示图像和文本的应用程序。单击该项目时,它会转到另一个片段。显示的列表是正确的,但当我单击该项目时,它不会进入片段。我正在使用recycler adapter列出这些项目。代码如下所示 public class MyRecyclerAdapter extends RecyclerView.Adapter < MyRecyclerAdapter.MyViewHolder > { String categoryId; private List < News

我正在开发一个用于显示图像和文本的应用程序。单击该项目时,它会转到另一个片段。显示的列表是正确的,但当我单击该项目时,它不会进入片段。我正在使用recycler adapter列出这些项目。代码如下所示

public class MyRecyclerAdapter extends RecyclerView.Adapter < MyRecyclerAdapter.MyViewHolder > {

 String categoryId;

 private List < NewsFeeds > feedsList;
 private Context context;
 private LayoutInflater inflater;

 public MyRecyclerAdapter(Context context, List < NewsFeeds > feedsList) {

  this.context = context;
  this.feedsList = feedsList;
  inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
 }

 @Override
 public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {

  View rootView = inflater.inflate(R.layout.singleitem_recyclerview_categories, parent, false);
  return new MyViewHolder(rootView);
 }

 @Override
 public void onBindViewHolder(MyViewHolder holder, int position) {
  NewsFeeds feeds = feedsList.get(position);
  //Pass the values of feeds object to Views
  holder.title.setText(feeds.getName());
  //holder.categoryId.setText(feeds.getCategory_id());
  categoryId = feeds.getCategory_id();
  Log.d("LOGTAG", "id : " + categoryId);
  holder.imageview.setImageUrl(feeds.getImgURL(), NetworkController.getInstance(context).getImageLoader());

  Log.d("LOGTAG", "feeds.getFeedName():" + feeds.getName());
 }

 @Override
 public int getItemCount() {
  return feedsList.size();
 }

 public class MyViewHolder extends RecyclerView.ViewHolder {

  private TextView title;
  private NetworkImageView imageview;
  private CardView cardView;


  public MyViewHolder(View itemView) {
   super(itemView);
   title = (TextView) itemView.findViewById(R.id.title_view);
   //categoryId = (TextView) itemView.findViewById(R.id.content_view);
   // Volley's NetworkImageView which will load Image from URL
   imageview = (NetworkImageView) itemView.findViewById(R.id.thumbnail);
   cardView = (CardView) itemView.findViewById(R.id.card_view);

   cardView.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
     //Toast.makeText(context, "Clicked", Toast.LENGTH_SHORT).show();



     // I want to send values to SubCategoryFragment and start SubCategoryFragment
     Bundle args = new Bundle();
     args.putString("category_id", categoryId);
     //set Fragmentclass Arguments
     SubCategoryFragment fragobj = new SubCategoryFragment();
     fragobj.setArguments(args);

     Log.d("LOGTAG", categoryId);
     Log.d("LOGTAG", "clicked");



     //newInstance(categoryId);



    }
   });




  }


 }


}

请在您的
onClickListener()中帮助我


onClickListener()中使用片段更改
R.id.content\u frame


使用您的片段从适配器更改
R.id.content\u frame
,您发送数据的意图如下:

Fragment fragment = new tasks();
FragmentManager fragmentManager = context.getSupportFragmentManager(); // this is basically context of the class
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
Bundle bundle=new Bundle();
bundle.putString("name", "From Adapter"); //key and value
//set Fragmentclass Arguments
fragment.setArguments(bundle);
fragmentTransaction.replace(R.id.content_frame, fragment);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
在Fragment onCreateView方法中:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
    String strtext=getArguments().getString("name"); //fetching value by key 
    return inflater.inflate(R.layout.fragment, container, false);
}

从适配器发送数据,目的如下:

Fragment fragment = new tasks();
FragmentManager fragmentManager = context.getSupportFragmentManager(); // this is basically context of the class
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
Bundle bundle=new Bundle();
bundle.putString("name", "From Adapter"); //key and value
//set Fragmentclass Arguments
fragment.setArguments(bundle);
fragmentTransaction.replace(R.id.content_frame, fragment);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
在Fragment onCreateView方法中:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
    String strtext=getArguments().getString("name"); //fetching value by key 
    return inflater.inflate(R.layout.fragment, container, false);
}

您在
onClick
方法中犯了一个错误

当您想将一个片段转到另一个片段时,必须使用FragmentTransaction.class处理该片段 查看下面的代码

编辑

 SecondFragment fragment = new SecondFragment();  
     FragmentManager fragmentManager = currentfragment.getFragmentManager();
       FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
            fragmentTransaction.add(R.id.content_frame, fragment);
        fragmentTransaction.hide(currentfragment)    fragmentTransaction.addToBackStack(currentfragment.getclass().getsimplename());
            fragmentTransaction.commit();
public class MyRecyclerAdapter extends RecyclerView.Adapter<MyRecyclerAdapter.MyViewHolder> {

    String categoryId;

    private List<NewsFeeds> feedsList;
    private Context context;
    private LayoutInflater inflater;
    private Fragment currentFragment;

    public MyRecyclerAdapter(Context context, List<NewsFeeds> feedsList, final Fragment currentFragment) {

        this.context = context;
        this.feedsList = feedsList;
        inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        this.currentFragment = currentFragment;
    }

    @Override
    public MyRecyclerAdapter.MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {

        View rootView = inflater.inflate(R.layout.singleitem_recyclerview_categories, parent, false);
        return new MyViewHolder(rootView);
    }

    @Override
    public void onBindViewHolder(MyViewHolder holder, int position) {
        NewsFeeds feeds = feedsList.get(position);
        //Pass the values of feeds object to Views
        holder.title.setText(feeds.getName());
        //holder.categoryId.setText(feeds.getCategory_id());


        holder.title.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //Toast.makeText(context, "Clicked", Toast.LENGTH_SHORT).show();
                // I want to send values to SubCategoryFragment and start SubCategoryFragment
                Bundle args = new Bundle();
                args.putString("category_id", categoryId);
                //set Fragmentclass Arguments
                SubCategoryFragment fragobj = new SubCategoryFragment();
                fragobj.setArguments(args);
                FragmentManager fragmentManager = currentfragment.getFragmentManager();
                FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
                fragmentTransaction.add(R.id.content_frame, fragobj);
                fragmentTransaction.hide(currentfragment);
                fragmentTransaction.addToBackStack(currentfragment.getclass().getsimplename());
                fragmentTransaction.commit();


                //newInstance(categoryId);


            }
        });

    }

    @Override
    public int getItemCount() {
        return feedsList.size();
    }

    public class MyViewHolder extends RecyclerView.ViewHolder {
        private TextView title;

        public MyViewHolder(View itemView) {
            super(itemView);
            title = (TextView) itemView.findViewById(R.id.title_view);
        }


    }


}
编辑

 SecondFragment fragment = new SecondFragment();  
     FragmentManager fragmentManager = currentfragment.getFragmentManager();
       FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
            fragmentTransaction.add(R.id.content_frame, fragment);
        fragmentTransaction.hide(currentfragment)    fragmentTransaction.addToBackStack(currentfragment.getclass().getsimplename());
            fragmentTransaction.commit();
public class MyRecyclerAdapter extends RecyclerView.Adapter<MyRecyclerAdapter.MyViewHolder> {

    String categoryId;

    private List<NewsFeeds> feedsList;
    private Context context;
    private LayoutInflater inflater;
    private Fragment currentFragment;

    public MyRecyclerAdapter(Context context, List<NewsFeeds> feedsList, final Fragment currentFragment) {

        this.context = context;
        this.feedsList = feedsList;
        inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        this.currentFragment = currentFragment;
    }

    @Override
    public MyRecyclerAdapter.MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {

        View rootView = inflater.inflate(R.layout.singleitem_recyclerview_categories, parent, false);
        return new MyViewHolder(rootView);
    }

    @Override
    public void onBindViewHolder(MyViewHolder holder, int position) {
        NewsFeeds feeds = feedsList.get(position);
        //Pass the values of feeds object to Views
        holder.title.setText(feeds.getName());
        //holder.categoryId.setText(feeds.getCategory_id());


        holder.title.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //Toast.makeText(context, "Clicked", Toast.LENGTH_SHORT).show();
                // I want to send values to SubCategoryFragment and start SubCategoryFragment
                Bundle args = new Bundle();
                args.putString("category_id", categoryId);
                //set Fragmentclass Arguments
                SubCategoryFragment fragobj = new SubCategoryFragment();
                fragobj.setArguments(args);
                FragmentManager fragmentManager = currentfragment.getFragmentManager();
                FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
                fragmentTransaction.add(R.id.content_frame, fragobj);
                fragmentTransaction.hide(currentfragment);
                fragmentTransaction.addToBackStack(currentfragment.getclass().getsimplename());
                fragmentTransaction.commit();


                //newInstance(categoryId);


            }
        });

    }

    @Override
    public int getItemCount() {
        return feedsList.size();
    }

    public class MyViewHolder extends RecyclerView.ViewHolder {
        private TextView title;

        public MyViewHolder(View itemView) {
            super(itemView);
            title = (TextView) itemView.findViewById(R.id.title_view);
        }


    }


}
只需在BindViewHolder上的RecycleServiceAdapter方法中输入以下代码

holder.cardView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //Toast.makeText(context, "Clicked", Toast.LENGTH_SHORT).show();
            // I want to send values to SubCategoryFragment and start SubCategoryFragment
            Bundle args = new Bundle();
            args.putString("category_id", categoryId);
            //set Fragmentclass Arguments
            SubCategoryFragment fragobj = new SubCategoryFragment();
            fragobj.setArguments(args);
            FragmentManager fragmentManager = currentfragment.getFragmentManager(); 
            FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
            fragmentTransaction.add(R.id.content_frame, fragobj);
            fragmentTransaction.hide(currentfragment);
      fragmentTransaction.addToBackStack(currentfragment.getclass().getsimplename());
            fragmentTransaction.commit();


            //newInstance(categoryId);



        }
    });
编辑

 SecondFragment fragment = new SecondFragment();  
     FragmentManager fragmentManager = currentfragment.getFragmentManager();
       FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
            fragmentTransaction.add(R.id.content_frame, fragment);
        fragmentTransaction.hide(currentfragment)    fragmentTransaction.addToBackStack(currentfragment.getclass().getsimplename());
            fragmentTransaction.commit();
public class MyRecyclerAdapter extends RecyclerView.Adapter<MyRecyclerAdapter.MyViewHolder> {

    String categoryId;

    private List<NewsFeeds> feedsList;
    private Context context;
    private LayoutInflater inflater;
    private Fragment currentFragment;

    public MyRecyclerAdapter(Context context, List<NewsFeeds> feedsList, final Fragment currentFragment) {

        this.context = context;
        this.feedsList = feedsList;
        inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        this.currentFragment = currentFragment;
    }

    @Override
    public MyRecyclerAdapter.MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {

        View rootView = inflater.inflate(R.layout.singleitem_recyclerview_categories, parent, false);
        return new MyViewHolder(rootView);
    }

    @Override
    public void onBindViewHolder(MyViewHolder holder, int position) {
        NewsFeeds feeds = feedsList.get(position);
        //Pass the values of feeds object to Views
        holder.title.setText(feeds.getName());
        //holder.categoryId.setText(feeds.getCategory_id());


        holder.title.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //Toast.makeText(context, "Clicked", Toast.LENGTH_SHORT).show();
                // I want to send values to SubCategoryFragment and start SubCategoryFragment
                Bundle args = new Bundle();
                args.putString("category_id", categoryId);
                //set Fragmentclass Arguments
                SubCategoryFragment fragobj = new SubCategoryFragment();
                fragobj.setArguments(args);
                FragmentManager fragmentManager = currentfragment.getFragmentManager();
                FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
                fragmentTransaction.add(R.id.content_frame, fragobj);
                fragmentTransaction.hide(currentfragment);
                fragmentTransaction.addToBackStack(currentfragment.getclass().getsimplename());
                fragmentTransaction.commit();


                //newInstance(categoryId);


            }
        });

    }

    @Override
    public int getItemCount() {
        return feedsList.size();
    }

    public class MyViewHolder extends RecyclerView.ViewHolder {
        private TextView title;

        public MyViewHolder(View itemView) {
            super(itemView);
            title = (TextView) itemView.findViewById(R.id.title_view);
        }


    }


}
公共类MyRecyclerAdapter扩展了RecyclerView.Adapter{
字符串类别;
私有列表feedsList;
私人语境;
私人充气机;
私有片段;
公共MyRecyclerAdapter(上下文上下文、列表提要列表、最终片段currentFragment){
this.context=上下文;
this.feedsList=feedsList;
充气器=(LayoutFlater)context.getSystemService(context.LAYOUT\u充气器\u服务);
this.currentFragment=currentFragment;
}
@凌驾
公共MyRecyclerAdapter.MyViewHolder onCreateViewHolder(视图组父级,int-viewType){
视图根视图=充气机。充气(R.layout.singleitem\u recyclerview\u categories,parent,false);
返回新的MyViewHolder(rootView);
}
@凌驾
公共无效onBindViewHolder(MyViewHolder,int位置){
NewsFeeds=feedsList.get(位置);
//将提要对象的值传递给视图
holder.title.setText(feeds.getName());
//holder.categoryId.setText(feed.getCategory_id());
holder.title.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
//Toast.makeText(上下文“单击”,Toast.LENGTH_SHORT.show();
//我想将值发送到SubCategoryFragment并启动SubCategoryFragment
Bundle args=新Bundle();
args.putString(“category_id”,categoryId);
//设置Fragmentclass参数
SubCategoryFragment fragobj=新的SubCategoryFragment();
fragobj.setArguments(args);
FragmentManager FragmentManager=currentfragment.getFragmentManager();
FragmentTransaction FragmentTransaction=fragmentManager.beginTransaction();
fragmentTransaction.add(R.id.content\u frame,fragmentgobj);
fragmentTransaction.hide(currentfragment);
fragmentTransaction.addToBackStack(currentfragment.getclass().getsimplename());
fragmentTransaction.commit();
//新实例(类别ID);
}
});
}
@凌驾
public int getItemCount(){
返回feedsList.size();
}
公共类MyViewHolder扩展了RecyclerView.ViewHolder{
私有文本视图标题;
公共MyViewHolder(查看项目视图){
超级(项目视图);
title=(TextView)itemView.findViewById(R.id.title\u视图);
}
}
}

您在
onClick方法中犯了一个错误

当您想将一个片段转到另一个片段时,必须使用FragmentTransaction.class处理该片段 查看下面的代码

编辑

 SecondFragment fragment = new SecondFragment();  
     FragmentManager fragmentManager = currentfragment.getFragmentManager();
       FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
            fragmentTransaction.add(R.id.content_frame, fragment);
        fragmentTransaction.hide(currentfragment)    fragmentTransaction.addToBackStack(currentfragment.getclass().getsimplename());
            fragmentTransaction.commit();
public class MyRecyclerAdapter extends RecyclerView.Adapter<MyRecyclerAdapter.MyViewHolder> {

    String categoryId;

    private List<NewsFeeds> feedsList;
    private Context context;
    private LayoutInflater inflater;
    private Fragment currentFragment;

    public MyRecyclerAdapter(Context context, List<NewsFeeds> feedsList, final Fragment currentFragment) {

        this.context = context;
        this.feedsList = feedsList;
        inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        this.currentFragment = currentFragment;
    }

    @Override
    public MyRecyclerAdapter.MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {

        View rootView = inflater.inflate(R.layout.singleitem_recyclerview_categories, parent, false);
        return new MyViewHolder(rootView);
    }

    @Override
    public void onBindViewHolder(MyViewHolder holder, int position) {
        NewsFeeds feeds = feedsList.get(position);
        //Pass the values of feeds object to Views
        holder.title.setText(feeds.getName());
        //holder.categoryId.setText(feeds.getCategory_id());


        holder.title.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //Toast.makeText(context, "Clicked", Toast.LENGTH_SHORT).show();
                // I want to send values to SubCategoryFragment and start SubCategoryFragment
                Bundle args = new Bundle();
                args.putString("category_id", categoryId);
                //set Fragmentclass Arguments
                SubCategoryFragment fragobj = new SubCategoryFragment();
                fragobj.setArguments(args);
                FragmentManager fragmentManager = currentfragment.getFragmentManager();
                FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
                fragmentTransaction.add(R.id.content_frame, fragobj);
                fragmentTransaction.hide(currentfragment);
                fragmentTransaction.addToBackStack(currentfragment.getclass().getsimplename());
                fragmentTransaction.commit();


                //newInstance(categoryId);


            }
        });

    }

    @Override
    public int getItemCount() {
        return feedsList.size();
    }

    public class MyViewHolder extends RecyclerView.ViewHolder {
        private TextView title;

        public MyViewHolder(View itemView) {
            super(itemView);
            title = (TextView) itemView.findViewById(R.id.title_view);
        }


    }


}
编辑

 SecondFragment fragment = new SecondFragment();  
     FragmentManager fragmentManager = currentfragment.getFragmentManager();
       FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
            fragmentTransaction.add(R.id.content_frame, fragment);
        fragmentTransaction.hide(currentfragment)    fragmentTransaction.addToBackStack(currentfragment.getclass().getsimplename());
            fragmentTransaction.commit();
public class MyRecyclerAdapter extends RecyclerView.Adapter<MyRecyclerAdapter.MyViewHolder> {

    String categoryId;

    private List<NewsFeeds> feedsList;
    private Context context;
    private LayoutInflater inflater;
    private Fragment currentFragment;

    public MyRecyclerAdapter(Context context, List<NewsFeeds> feedsList, final Fragment currentFragment) {

        this.context = context;
        this.feedsList = feedsList;
        inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        this.currentFragment = currentFragment;
    }

    @Override
    public MyRecyclerAdapter.MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {

        View rootView = inflater.inflate(R.layout.singleitem_recyclerview_categories, parent, false);
        return new MyViewHolder(rootView);
    }

    @Override
    public void onBindViewHolder(MyViewHolder holder, int position) {
        NewsFeeds feeds = feedsList.get(position);
        //Pass the values of feeds object to Views
        holder.title.setText(feeds.getName());
        //holder.categoryId.setText(feeds.getCategory_id());


        holder.title.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //Toast.makeText(context, "Clicked", Toast.LENGTH_SHORT).show();
                // I want to send values to SubCategoryFragment and start SubCategoryFragment
                Bundle args = new Bundle();
                args.putString("category_id", categoryId);
                //set Fragmentclass Arguments
                SubCategoryFragment fragobj = new SubCategoryFragment();
                fragobj.setArguments(args);
                FragmentManager fragmentManager = currentfragment.getFragmentManager();
                FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
                fragmentTransaction.add(R.id.content_frame, fragobj);
                fragmentTransaction.hide(currentfragment);
                fragmentTransaction.addToBackStack(currentfragment.getclass().getsimplename());
                fragmentTransaction.commit();


                //newInstance(categoryId);


            }
        });

    }

    @Override
    public int getItemCount() {
        return feedsList.size();
    }

    public class MyViewHolder extends RecyclerView.ViewHolder {
        private TextView title;

        public MyViewHolder(View itemView) {
            super(itemView);
            title = (TextView) itemView.findViewById(R.id.title_view);
        }


    }


}
只需在BindViewHolder上的RecycleServiceAdapter方法中输入以下代码

holder.cardView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //Toast.makeText(context, "Clicked", Toast.LENGTH_SHORT).show();
            // I want to send values to SubCategoryFragment and start SubCategoryFragment
            Bundle args = new Bundle();
            args.putString("category_id", categoryId);
            //set Fragmentclass Arguments
            SubCategoryFragment fragobj = new SubCategoryFragment();
            fragobj.setArguments(args);
            FragmentManager fragmentManager = currentfragment.getFragmentManager(); 
            FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
            fragmentTransaction.add(R.id.content_frame, fragobj);
            fragmentTransaction.hide(currentfragment);
      fragmentTransaction.addToBackStack(currentfragment.getclass().getsimplename());
            fragmentTransaction.commit();


            //newInstance(categoryId);



        }
    });
编辑

 SecondFragment fragment = new SecondFragment();  
     FragmentManager fragmentManager = currentfragment.getFragmentManager();
       FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
            fragmentTransaction.add(R.id.content_frame, fragment);
        fragmentTransaction.hide(currentfragment)    fragmentTransaction.addToBackStack(currentfragment.getclass().getsimplename());
            fragmentTransaction.commit();
public class MyRecyclerAdapter extends RecyclerView.Adapter<MyRecyclerAdapter.MyViewHolder> {

    String categoryId;

    private List<NewsFeeds> feedsList;
    private Context context;
    private LayoutInflater inflater;
    private Fragment currentFragment;

    public MyRecyclerAdapter(Context context, List<NewsFeeds> feedsList, final Fragment currentFragment) {

        this.context = context;
        this.feedsList = feedsList;
        inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        this.currentFragment = currentFragment;
    }

    @Override
    public MyRecyclerAdapter.MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {

        View rootView = inflater.inflate(R.layout.singleitem_recyclerview_categories, parent, false);
        return new MyViewHolder(rootView);
    }

    @Override
    public void onBindViewHolder(MyViewHolder holder, int position) {
        NewsFeeds feeds = feedsList.get(position);
        //Pass the values of feeds object to Views
        holder.title.setText(feeds.getName());
        //holder.categoryId.setText(feeds.getCategory_id());


        holder.title.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //Toast.makeText(context, "Clicked", Toast.LENGTH_SHORT).show();
                // I want to send values to SubCategoryFragment and start SubCategoryFragment
                Bundle args = new Bundle();
                args.putString("category_id", categoryId);
                //set Fragmentclass Arguments
                SubCategoryFragment fragobj = new SubCategoryFragment();
                fragobj.setArguments(args);
                FragmentManager fragmentManager = currentfragment.getFragmentManager();
                FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
                fragmentTransaction.add(R.id.content_frame, fragobj);
                fragmentTransaction.hide(currentfragment);
                fragmentTransaction.addToBackStack(currentfragment.getclass().getsimplename());
                fragmentTransaction.commit();


                //newInstance(categoryId);


            }
        });

    }

    @Override
    public int getItemCount() {
        return feedsList.size();
    }

    public class MyViewHolder extends RecyclerView.ViewHolder {
        private TextView title;

        public MyViewHolder(View itemView) {
            super(itemView);
            title = (TextView) itemView.findViewById(R.id.title_view);
        }


    }


}
公共类MyRecyclerAdapter扩展了RecyclerView.Adapter{
字符串类别;
私有列表feedsList;
私人语境;
私人充气机;
私有片段;
公共MyRecyclerAdapter(上下文上下文、列表提要列表、最终片段currentFragment){
this.context=上下文;
this.feedsList=feedsList;
充气器=(LayoutFlater)context.getSystemService(context.LAYOUT\u充气器\u服务);
this.currentFragment=currentFragment;
}
@凌驾
公共MyRecyclerAdapter.MyViewHolder onCreateViewHolder(视图组父级,int-viewType){
视图根视图=充气机。充气(R.layout.singleitem\u recyclerview\u categories,parent,false);
返回新的MyViewHolder(rootView);
}
@凌驾
公共无效onBindViewHolder(MyViewHolder,int位置){
NewsFeeds=feedsList.get(位置);
//将提要对象的值传递给视图
holder.title.setText(feeds.getName());
//holder.categoryId.setText(feed.getCategory_id());
holder.title.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
//Toast.makeText(上下文“单击”,Toast.LENGTH_SHORT.show();
//我想将值发送到SubCategoryFragment并启动SubCategoryFragment
Bundle args=新Bundle();
args.putString(“category_id”,categoryId);
//设置Fragmentclass参数
SubCategoryFragment fragobj=新的SubCategoryFragment();
fragobj.setArguments(args);
FragmentManager FragmentManager=currentfragment.getFragmentManager();
FragmentTransaction FragmentTransaction=fragmentManager.beginTransaction();
fragmentTransaction.add(R.id.content\u框架,fr