Android使用Intent实现页面跳转Android工程师
/ 福州大学音乐学院Android工程师 / 2017-05-17
Intent可以理解为信使(意图)
由Intent来协助完成Android各个组件之间的通信。
Intent实现页面之间的跳转有两种方式
1、 startActivity(intent)
2、 startActivityForResult(intent,requestCode);
onActivityResult(intrequestCode,int resultCode,Intent data)
setResult(resultCode,data)
下面我们看具体代码示例
首先新建了两个XML的显示文件
第一个界面中有两个按钮,分别用于实现两种方式跳转,同时还有一个TextView用于显示第二个页面回传的信息。第二个页面中只有一个按钮,用户回调到第一个页面。下面分别看这两个的activity
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(Bundle savedInstanceState) { 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(View arg0) { 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(View arg0) { 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 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(Bundle savedInstanceState) { 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(View arg0) { 26.Intent data = new Intent(); 27.data.putExtra("data", content); 28.setResult(1, data); 29.finish(); 30.} 31.}); 32.} 33. 34.}


Act师大校友联盟
1914篇文章
大家好,我是小明,请多多指教!
热文榜单