在使用 RecyclerView 的 Fragment 中,可以通过以下步骤来实现点击按钮显示另一个 Fragment:

  1. 在 RecyclerView 的 Adapter 中为按钮添加点击事件监听器。

  2. 在点击事件监听器中,通过 FragmentTransaction 将需要显示的 Fragment 添加到 FragmentManager 中。

  3. 在需要显示的 Fragment 中,可以通过布局文件或代码创建需要显示的界面。

以下是示例代码:

在 RecyclerView 的 Adapter 中添加按钮点击事件监听器:

public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {
    private Context context;

    public MyAdapter(Context context) {
        this.context = context;
    }

    @Override
    public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(context).inflate(R.layout.item_layout, parent, false);
        return new ViewHolder(view);
    }

    @Override
    public void onBindViewHolder(ViewHolder holder, int position) {
        // 绑定数据到 ViewHolder 上
        holder.btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // 点击按钮,显示另一个 Fragment
                FragmentManager fragmentManager = ((FragmentActivity)context).getSupportFragmentManager();
                FragmentTransaction transaction = fragmentManager.beginTransaction();
                transaction.replace(R.id.container, new AnotherFragment());
                transaction.addToBackStack(null);
                transaction.commit();
            }
        });
    }

    @Override
    public int getItemCount() {
        return 10;
    }

    static class ViewHolder extends RecyclerView.ViewHolder {
        Button btn;

        public ViewHolder(View itemView) {
            super(itemView);
            btn = (Button) itemView.findViewById(R.id.btn);
        }
    }
}

在需要显示的 Fragment 中添加布局文件或代码创建需要显示的界面:

public class AnotherFragment extends Fragment {
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.another_fragment_layout, container, false);
        // 或者通过代码创建需要显示的界面
        // TextView textView = new TextView(getActivity());
        // textView.setText('Another Fragment');
        // return textView;
        return view;
    }
}

在 RecyclerView 的 Fragment 中添加 RecyclerView 并设置 Adapter:

public class MyFragment extends Fragment {
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.my_fragment_layout, container, false);
        RecyclerView recyclerView = (RecyclerView) view.findViewById(R.id.recycler_view);
        recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
        recyclerView.setAdapter(new MyAdapter(getActivity()));
        return view;
    }
}
Android RecyclerView Fragment 点击按钮显示另一个 Fragment 实现教程

原文地址: https://www.cveoy.top/t/topic/oUwO 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录