1. 简单的Intent使用,仅仅用于Activity直接的跳转
1.Intent intent = new Intent();
2.intent.setClass(FileProcessHust.this, MyListActivity.class); 3.startActivity(intent);
2. 复制的Intent使用,能够在Activity之间传递信息
1.static final int REQUEST_CODE = 1;
REQUEST_CODE是此次跳转的编号,用于在返回时识别,进行后一步处理。
1.Intent intent1 = new Intent(ActivityMain.this, Activity1.class);
2.intent1.putExtra("activityMain", "数据来自activityMain"); 3.startActivityForResult(intent1, REQUEST_CODE);
putExtras方法,是将一个数值对放到intent1里,传送此信息给Activity1。
在Activity1里,接受信息,方法如下:
1.String data=null;
2.Bundle extras = getIntent().getExtras();
3.if (extras != null) { 4. data = extras.getString("activityMain"); 5.}
Activity1在结束时,也可以返回信息给ActivityMain,方法如下:
1.Bundle bundle = new Bundle();
2.bundle.putString("store", "数据来自Activity1"); 3.Intent mIntent = new Intent(); 4.mIntent.putExtras(bundle);
5.setResult(RESULT_OK, mIntent);
6.finish();
ActivityMain中,通过覆盖onActivityResult函数,处理Activity1返回的信息:
1. @Override
2.protected void onActivityResult(int requestCode, int resultCode, Intent data) { 3. if (requestCode == REQUEST_CODE) { 4. if (resultCode == RESULT_CANCELED) 5. setTitle("取消"); 6. else if (resultCode == RESULT_OK) { 7. String temp=null; 8. Bundle extras = data.getExtras();
9. if (extras != null) { 10. temp = extras.getString("store"); 11. }
12. setTitle(temp);
13. }
14. }
15.}