在Android開發中頁面跳轉算是非常常見的操作了,使用也很簡單
Intent intent = new Intent(mActivity, ListActivity.class);
intent.putExtra("type", mtype);
startActivity(intent);
我見過3、4年開發經驗的人還在這麼寫,當然,這樣寫也沒錯,但卻不夠規範安全,如果手抖把type多按了個空格,getIntent的時候怎麼也得不到值,代碼還不會報錯,我剛入行的時候就犯過這個錯誤。
所以正確的方法是在接收值的Activity中命名一個static常量字符串
Intent intent = new Intent(mActivity, ListActivity.class);
intent.putExtra(ListActivity.TYPE, mtype);
startActivity(intent);
private int TYPE_REC_FOCUS = 0;
private int mtype;
public static final String TYPE = “type”;
mtype = getIntent().getIntExtra(TYPE, TYPE_REC_FOCUS);
另外提醒一下,startActivityForResult方法的回調方法onActivityResult 是先於Activity的生命週期的,所以activity A->B->C,並直接攜帶值回到A是可以以此實現的。