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来回同步数据的最佳实践(架构级别)[重复]