【问题标题】:extras string from fragment one to last fragment [duplicate]从片段一个到最后一个片段的附加字符串[重复]
【发布时间】:2016-09-11 02:50:37
【问题描述】:

将数据(例如字符串)从片段一个传递到最后一个片段的简单方法,我的意思是,如何(保存,设置或放置)数据,以及(显示,获取)在最后一个片段中,我使用参数来传递片段 1 到片段 2,但我不知道如何传递到最后一个片段。

【问题讨论】:

    标签: android


    【解决方案1】:

    您可以通过 Bundle 传递值。

    例如:

    Fragment fragment = new YourFragment();
    Bundle args = new Bundle();
    args.putString(ARG_PARAM1, param1);
    args.putString(ARG_PARAM2, param2);
    fragment.setArguments(args);
    FragmentManager manager = activity.getSupportFragmentManager();
    FragmentTransaction ft = manager.beginTransaction();
    ft.addToBackStack(null);
    ft.add(R.id.container_layout, fragment);
    ft.commit();
    

    如果您不想添加或替换片段。 (如果您的片段已经打开)那么您可以在该片段中创建接口并在您的 BaseActivity 上实现接口。

    【讨论】:

    • 好的,让我试试,谢谢:)
    【解决方案2】:

    传值

    Fragment fragment = new YourFragment();
    FragmentManager manager = activity.getSupportFragmentManager();
    FragmentTransaction ft = manager.beginTransaction();
    Bundle args = new Bundle();
    args.putString(ARG_PARAM1, param1);
    args.putString(ARG_PARAM2, param2);
    fragment.setArguments(args);
    ft.addToBackStack(null);
    ft.replace(R.id.container_layout, fragment).commit();
    

    获取价值

     @Override
            public View onCreateView(LayoutInflater inflater, ViewGroup container,
                                     Bundle savedInstanceState) {
                yourvalue1 = getArguments().getString("ARG_PARAM1");
                yourvalue2 = getArguments().getString("ARG_PARAM2");
                final View view = inflater.inflate(R.layout.yourlayout, container, false);
           retrun view;
     }
    

    【讨论】:

      【解决方案3】:

      您可以按照另一个答案的建议,按照documentation here 建议的通信模式,使用 Bundle 将数据从任何片段传递到任何片段。

      或者您可以制作单例并从中访问变量,请参阅我的answer here 已经问了好几次了,直接问之前请先搜索一下。

      【讨论】:

      • 谢谢老兄,抱歉问了,这是我的第一天 :)
      • 欢迎来到 SO 社区,请花 5 分钟时间了解如何提问。这里:stackoverflow.com/help/how-to-ask
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-01
      • 1970-01-01
      • 2016-09-30
      • 2023-03-30
      • 1970-01-01
      相关资源
      最近更新 更多