当创建一个片段时,建议在片段类中使用静态方法来传递和包装参数(s。this post)。开始一个活动作为一个额外的意图的最佳实践
现在我想到了类似的开始活动的意图。
f.e:
public class ItemDetailActivity extends AppCombatActivity {
public static final String ARG_PARAM1 = "param1";
public static final String ARG_PARAM2 = "param2";
public static void startAsIntent(Context context, String param1, int param2) {
Bundle extras = new Bundle();
extras.putString(ARG_PARAM1, param1);
extras.putInt(ARG_PARAM2, param2);
Intent intent = new Intent(context, ItemDetailActivity.class);
intent.putExtras(extras);
context.startActivity(intent);
}
}
这是一个好主意?
有什么不妥的地方,我知道的。其他人则建议做同样的事情。它的好处是可以在设置额外功能之前执行更多验证(例如,检查“Bitmap”的大小,以便知道您不会超过1MB IPC事务限制)。 – CommonsWare
我这样做没有问题。特别是如果Activity *需要*你传入的参数。它明确地显示了需要什么,所以它更不容易混淆。 – DeeV
我已经看到了这一点。我真的很喜欢它,如果有复杂的逻辑来填补额外的,否则需要重复多个地方。 –