當創建一個片段時,建議在片段類中使用靜態方法來傳遞和包裝參數(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
我已經看到了這一點。我真的很喜歡它,如果有複雜的邏輯來填補額外的,否則需要重複多個地方。 –