在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是可以以此实现的。