android片段-数据传递-最佳实践[重复]

Posted

技术标签:

【中文标题】android片段-数据传递-最佳实践[重复]【英文标题】:android fragment - data passing - best practice [duplicate] 【发布时间】:2014-10-11 13:18:57 【问题描述】:

当将数据传递给片段时,为什么要这样做 - (即你应该这样做的方式)

private String mParam1;
private String mParam2;



public static ReviewPagesFragment newInstance(String param1, String param2) 
    ReviewPagesFragment fragment = new ReviewPagesFragment();
    Bundle args = new Bundle();
    args.putString(ARG_PARAM1, param1);
    args.putString(ARG_PARAM2, param2);
    fragment.setArguments(args);
    return fragment;


@Override
public void onCreate(Bundle savedInstanceState) 
    super.onCreate(savedInstanceState);
    if (getArguments() != null) 
        mParam1 = getArguments().getString(ARG_PARAM1);
        mParam2 = getArguments().getString(ARG_PARAM2);
    

而不是这样做

private String mParam1;
private String mParam2;



public static ReviewPagesFragment newInstance(String param1, String param2) 
    ReviewPagesFragment fragment = new ReviewPagesFragment();
    fragment.mParam1 = param1;
    fragment.mParam2 = param2;
    return fragment;

第二种方式更简单,性能更好。我是 K.I.S.S 的粉丝。所以我的问题是 - 为什么第一种方式是推荐的方式,这样做有什么好处?

【问题讨论】:

前段时间我问了一个非常相似的问题 ;) - 如果你想看那里的解释,请参阅:***.com/questions/10316527/… 【参考方案1】:

使用 Bundle 可以让您的片段在重新创建时保持状态。这里有更详尽的解释:Best practice for instantiating a new android Fragment

【讨论】:

正是我想要的。谢谢

以上是关于android片段-数据传递-最佳实践[重复]的主要内容,如果未能解决你的问题,请参考以下文章

在 android studio kotlin 中将数据从活动传递到片段(不重复,这些方法不起作用)

实现从服务器到android来回同步数据的最佳实践(架构级别)[重复]

在android中使用底部导航的最佳实践:活动与片段

如何从活动中传递回调到片段

不使用支持库的 Android 4.0、4.1 (<4.2) 中嵌套片段的最佳实践

更新片段参数的最佳实践?