Intent可以理解为信使(意图)
由Intent来协助完成Android各个组件之间的通信。
Intent实现页面之间的跳转有两种方式
1、 startActivity(intent)
2、 startActivityForResult(intent,requestCode);
onActivityResult(intrequestCode,intresultCode,Intent data)
setResult(resultCode,data)
下面我们看具体代码示例
首先新建了两个XML的显示文件
第一个界面中有两个按钮,分别用于实现两种方式跳转,同时还有一个TextView用于显示第二个页面回传的信息。第二个页面中只有一个按钮,用户回调到第一个页面。下面分别看这两个的activity
01./**
02.*
03.*/
04.package com.example.intentdemo;
05.
06.import android.app.Activity;
07.import android.content.Intent;
08.import android.os.Bundle;
09.import android.view.View;
10.import android.view.View.OnClickListener;
11.import android.widget.Button;
12.import android.widget.TextView;
13.
14.public class FActivity extends Activity {
15.
16.private Button bt1;
17.private Button bt2;
18.private TextView tv;
19.@Override
20.protected void onCreate(BundlesavedInstanceState) {
21. super.onCreate(savedInstanceState);
22. setContentView(R.layout.factivity);
23.
24. bt1 = (Button)findViewById(R.id.button1_first);
25. //通过点击bt1实现页面跳转,通过startActivity方式实现
26.
27. bt1.setOnClickListener(new OnClickListener(){
28. @Override
29. public void onClick(Viewarg0) {
30. //初始化Intent
31. //第一个参数上下文对象
32. //第二个参数,目标文件
33. Intent intent = new Intent(FActivity.this, SActivity.class);
34. startActivity(intent);
35. }
36. });
37.
38. bt2 = (Button)findViewById(R.id.button2_second);
39.
40. bt2.setOnClickListener(new OnClickListener(){
41.
42. @Override
43. public void onClick(Viewarg0) {
44. Intent intent = new Intent(FActivity.this, SActivity.class);
45. //第一个参数是intent对象
46. //第二个参数是一个请求的标识
47. startActivityForResult(intent, 1);
48. }
49. });
50.}
51.
52./*
53.* 通过startActivityForResult跳转,接受返回数据的方法
54.*requestCode:请求的标识
55.* resultCode:第二个页面返回的标识
56.* data:是第二个页面回传的数据
57.*/
58. @Override
59. protected void onActivityResult(int requestCode, int resultCode,Intent data) {
60. super.onActivityResult(requestCode, resultCode, data);
61. tv = (TextView)findViewById(R.id.textView1);
62. if(requestCode==1&&resultCode==1){
63. tv.setText(data.getStringExtra("data"));
64. }
65. }
66.
67.}
然后看第二个页面相关的activity
01.package com.example.intentdemo;
02.
03.import android.app.Activity;
04.import android.content.Intent;
05.import android.os.Bundle;
06.import android.view.View;
07.import android.view.View.OnClickListener;
08.import android.widget.Button;
09.
10.public class SActivity extends Activity {
11.
12. private Button btn;
13. private String content= "你好!";
14. @Override
15. protected void onCreate(BundlesavedInstanceState) {
16. super.onCreate(savedInstanceState);
17. setContentView(R.layout.sactivity);
18. /*
19. * 第二个页面给第一个页面回传相应的数据
20. * 回传第一个页面实际是一个Intent对象
21. */
22. btn = (Button) findViewById(R.id.button1);
23. btn.setOnClickListener(new OnClickListener(){
24. @Override
25. public void onClick(Viewarg0) {
26. Intent data = new Intent();
27. data.putExtra("data", content);
28. setResult(1, data);
29. finish();
30. }
31. });
32.}
33.
34.}

250

被折叠的 条评论
为什么被折叠?



