为了账号安全,请及时绑定邮箱和手机立即绑定

请问如何将一些数据传输到另一个片段?

请问如何将一些数据传输到另一个片段?

C++
繁星点点滴滴 2019-10-16 13:09:19
如何将一些数据传输到另一个片段?如何将一些数据传输到另一个Fragment同样地,它也是用extras为intents?
查看完整描述

3 回答

?
扬帆大鱼

TA贡献1799条经验 获得超9个赞

Bundle..下面是一个例子:

Fragment fragment = new Fragment();Bundle bundle = new Bundle();bundle.putInt(key, value);fragment.setArguments(bundle);

bundle为许多数据类型提供了方法。看见这,这个

然后在你的Fragment,检索数据(例如,在onCreate()方法)与:

Bundle bundle = this.getArguments();if (bundle != null) {
        int myInt = bundle.getInt(key, defaultValue);}



查看完整回答
反对 回复 2019-10-17
?
慕仙森

TA贡献1827条经验 获得超7个赞

为了扩展前面的答案,就像Ankit所说的,对于复杂的对象,您需要实现Serialable。例如,对于简单对象:

public class MyClass implements Serializable {
    private static final long serialVersionUID = -2163051469151804394L;
    private int id;
    private String created;}

在你身上:

Bundle args = new Bundle();args.putSerializable(TAG_MY_CLASS, myClass);Fragment toFragment = new ToFragment();
toFragment.setArguments(args);getFragmentManager()
    .beginTransaction()
    .replace(R.id.body, toFragment, TAG_TO_FRAGMENT)
    .addToBackStack(TAG_TO_FRAGMENT).commit();

在你的房间里:

@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {

    Bundle args = getArguments();
    MyClass myClass = (MyClass) args        .getSerializable(TAG_MY_CLASS);



查看完整回答
反对 回复 2019-10-17
?
慕勒3428872

TA贡献1848条经验 获得超6个赞

使用片段到片段传递数据的完整代码

Fragment fragment = new Fragment(); // replace your custom fragment class Bundle bundle = new Bundle();
FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
                bundle.putString("key","value"); // use as per your need
                fragment.setArguments(bundle);
                fragmentTransaction.addToBackStack(null);
                fragmentTransaction.replace(viewID,fragment);
                fragmentTransaction.commit();

在自定义片段类中

Bundle mBundle = new Bundle();mBundle = getArguments();mBundle.getString(key);  
// key must be same which was given in first fragment



查看完整回答
反对 回复 2019-10-17
  • 3 回答
  • 0 关注
  • 436 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信