首页 > 解决方案 > 将数据从一个片段传递到另一个片段而不更改片段

问题描述

我有一个活动HomeActivityHomePageFragment其中有一些带有图标和数据标题的类别,当我单击任何类别时,我正在发送带有捆绑和打开的单击项目标题名称,MultipleFragment并且我从上一个片段中获得单击标题名称,在这多个片段上,我里面有 viewpager..
1) PostFragment,
2)TextFragment
现在这是我想将点击的项目标题名称发送到PostFragmentHomeFragmentTextFragment主要问题

public void onItemClick(int position) {
    MultiplePost multiplePost = new MultiplePost();
    Bundle args = new Bundle();
    Categories categoriesClicked = categoriesList.get(position);
    args.putString(Title, categoriesClicked.getTitle());
    args.putString(ImageUrl, categoriesClicked.getIcon());
    multiplePost.setArguments(args);
    getActivity().getSupportFragmentManager().beginTransaction()
                    .replace(R.id.main_frame,multiplePost)
                    .addToBackStack(null)
                    .commit();
}

多邮

public class MultiplePost extends Fragment {
    private TabLayout tabLayout;
    private ViewPager viewPager;
    private ViewPageAdapter viewPageAdapter;
    private View view;
    private FragmentManager mFragmentManager;
    public static String title ;


    public MultiplePost() {
    }


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        view = inflater.inflate(R.layout.fragment_multiple_post, container, false);

        title = getArguments().getString("title");
        tabLayout = view.findViewById(R.id.tablayout_id);
        viewPager = view.findViewById(R.id.viewPager_id);
        viewPageAdapter = new ViewPageAdapter(getChildFragmentManager());

        viewPageAdapter.AddFragment(new PostFragment(), "");
        viewPageAdapter.AddFragment(new TextFragment(), "");

        viewPager.setAdapter(viewPageAdapter);

        tabLayout.setupWithViewPager(viewPager);

        tabLayout.getTabAt(0).setIcon(R.drawable.photo);
        tabLayout.getTabAt(1).setIcon(R.drawable.file);

        PostFragment post = new PostFragment();
        Bundle args = new Bundle();
        args.putString("title", title);
        post.setArguments(args);
        getActivity().getSupportFragmentManager().beginTransaction();
               .replace(R.id.main_frame, post)
               .commit();// and this's changing whole fragment with PostFragment and 
//so i can't see my viewpager on MultiplePost
        return view;
    }

}

ViewPagerAdapter

public class ViewPageAdapter extends FragmentPagerAdapter {
    private final List<Fragment> listFragment = new ArrayList<>();
    private final List<String> listTitle = new ArrayList<>();
    public ViewPageAdapter(FragmentManager fm) {
        super(fm);
    }

    @Override
    public Fragment getItem(int position) {
        return listFragment.get(position);
    }

    @Override
    public int getCount() {
        return listTitle.size();
    }

    @Nullable
    @Override
    public CharSequence getPageTitle(int position) {
        return listTitle.get(position);
    }

    public void AddFragment(Fragment fragment, String title){
        listFragment.add(fragment);
        listTitle.add(title);
    }

}

如何将标题发送到 PostFragment 和 TextFragment 到 viewpager

标签: javaandroidandroid-fragments

解决方案


推荐阅读