Android 如何更改适配器回收视图中的片段?

Android 如何更改适配器回收视图中的片段?,android,android-fragments,android-recyclerview,Android,Android Fragments,Android Recyclerview,我想在单击adapter item RecyclerView时更改片段,我已使用片段事务,但片段未更改 如果你已经解决了这样的问题,请分享。 多谢各位 这是我的密码 @Override public void onBindViewHolder(final ViewHolder holder, final int position) { Handler handler = new Handler(); final Runnable run = new Runnable()

我想在单击adapter item RecyclerView时更改片段,我已使用片段事务,但片段未更改

如果你已经解决了这样的问题,请分享。 多谢各位

这是我的密码

 @Override
public void onBindViewHolder(final ViewHolder holder, final int position) {


    Handler handler = new Handler();
    final Runnable run =  new Runnable() {
        @Override
        public void run() {
    String urlThumbnails = list_data.get(position).get("Thumbnails");
    if(urlThumbnails != null){
        Glide.with(context)
                .load(urlThumbnails)
                .into(holder.thumbnailImg);
    }

    holder.title.setText(list_data.get(position).get("Title"));
    holder.itemCount.setText(list_data.get(position).get("ItemCount")+" Videos");


        }
    };
    handler.post(run);

    holder.itemView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            String PlaylistId = list_data.get(position).get("Id");
            switchFragment(PlaylistId);

        }
    });
}
切换方法

private void switchFragment(String id){
    playlistFragment = new PlaylistFragment();
    Bundle bundle = new Bundle();
    bundle.putString("Id",id);
    playlistFragment.setArguments(bundle);
    Log.d("response playlist", id);
    if(context != null){
        FragmentManager fragmentManager = context.getActivity().getFragmentManager();

        FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
        fragmentTransaction.replace(R.id.fragment_container,playlistFragment);
        fragmentTransaction.addToBackStack(null);
        fragmentTransaction.commit();
    }


}
然后改变:

FragmentManager fragmentManager = context.getSupportFragmentManager();
对于backhandle,在
onBackPressed
中写入以下条件和该活动中的方法:

if (!(findFragment() instanceof PlayListFragment){
    replaceHomeFragment(ListFragment());
} else {
    super.onBackPressed();
}
....
....
public void replaceDetailFragment(Fragment fragment) {
    getSupportFragmentManager().beginTransaction().replace(R.id.frm_detail, fragment).commit();
}

public Fragment findFragment() {
    return getSupportFragmentManager().findFragmentById(R.id.fragment_container);
}

您需要确保条件语句中的代码是否正在执行。您正在使用
Fragment
v4。Fragment
?@ShubhamVala我使用v4。Fragment@stevencaesar您可以将接口对象从片段/活动传递给适配器,并在适配器的onclick中调用侦听器方法,并在中实现侦听器a/f然后在片段或ActivityOK中编写您自己的开关片段逻辑,谢谢Shubham。你们能帮我把第二个碎片压回第一个碎片吗