使用Intent实现页面跳转

Intent可以理解为信使(意图)

由Intent来协助完成Android各个组件之间的通信。

Intent实现页面之间的跳转有两种方式

1、 startActivity(intent)

2、 startActivityForResult(intent,requestCode);

onActivityResult(intrequestCode,int resultCode,Intent data)

setResult(resultCode,data)

下面我们看具体代码示例

首先新建了两个XML的显示文件

第一个界面中有两个按钮,分别用于实现两种方式跳转,同时还有一个TextView用于显示第二个页面回传的信息。第二个页面中只有一个按钮,用户回调到第一个页面。下面分别看这两个的activity

/**
 *
 */
package com.example.intentdemo;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

public class FActivity extends Activity {

	private Button bt1;
	private Button bt2;
	private TextView tv;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.factivity);

		bt1 = (Button) findViewById(R.id.button1_first);
		//通过点击bt1实现页面跳转,通过startActivity方式实现

		bt1.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View arg0) {
				//初始化Intent
				//第一个参数上下文对象
				//第二个参数,目标文件
				Intent intent = new Intent(FActivity.this, SActivity.class);
				startActivity(intent);
			}
		});

		bt2 = (Button) findViewById(R.id.button2_second);

		bt2.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View arg0) {
				Intent intent = new Intent(FActivity.this, SActivity.class);
				//第一个参数是intent对象
				//第二个参数是一个请求的标识
				startActivityForResult(intent, 1);
			}
		});
	}

	/*
	 * 通过startActivityForResult跳转,接受返回数据的方法
	 * requestCode:请求的标识
	 * resultCode:第二个页面返回的标识
	 * data:是第二个页面回传的数据
	 */
	@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		super.onActivityResult(requestCode, resultCode, data);
		tv = (TextView) findViewById(R.id.textView1);
		if(requestCode==1&&resultCode==1){
			tv.setText(data.getStringExtra("data"));
		}
	}

}

然后看第二个页面相关的activity

package com.example.intentdemo;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class SActivity extends Activity {

	private Button btn;
	private String content = "你好!";
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.sactivity);
		/*
		 * 第二个页面给第一个页面回传相应的数据
		 * 回传第一个页面实际是一个Intent对象
		 */
		btn = (Button) findViewById(R.id.button1);
		btn.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View arg0) {
				Intent data = new Intent();
				data.putExtra("data", content);
				setResult(1, data);
				finish();
			}
		});
	}

}
时间: 2024-10-01 12:12:11

使用Intent实现页面跳转的相关文章

Android学习笔记三:Intent实现页面跳转

在主Activity的OnCreate()方法中,通过findViewById得到Activiity_main中已定义的组件,例如Button.EditText等,注意需要强制转型view到具体的类型. 给取得的组件btn添加监听器如OnClickListener(),在其中实例化Intent对象,参数为要跳转的出发类和目标类. 用putExtra()方法添加内容到intent对象中,内容为K-V对.K中可写标记,V中存要传输的内容. public void onClick(View arg0)

Android成长日记-使用Intent实现页面跳转

Intent:可以理解为信使(意图),由Intent来协助完成Android各个组件之间的通讯 Intent实现页面之间的跳转 1->startActivity(intent) 2->startActivityForResult(intent,requestCode); onActivityForResult(int requestCode,int resultCode, Intent data) setResult(resultCode,data) 1. 无返回结果的页面跳转 a) 主要通过

Intent实现页面跳转和传值

*Intent称为意图,是Android各大组件连接的桥梁 1.Activity页面跳转 Intent intent = new Intent(); intent.setClass(MainActivity.this, SecondActivity.class); MainActivity.this.startActivity(intent); 2.Activity页面跳转传值 第一种方法: 发送方: Intent intent = new Intent(); intent.putExtra("

Android Intent实现页面跳转

Intent可以来协助完成Android各个组件之间的通信 1:startActivity(intent);     //直接启动 /* * 通过监听点击事件跳转套第二个activity */ button=(Button) findViewById(R.id. button1); button.setOnClickListener( new OnClickListener() { @Override public void onClick(View v) { Intent intent= ne

[Android]Intent 实现页面跳转的方式[转]

第一种方式,用action来跳转. 1.使用Action跳转,如果有一个程序的 AndroidManifest.xml中的某一个Activity的IntentFilter段中定义了包含了相同的Action那么这个Intent 就与这个目标Action匹配.如果这个IntentFilter段中没有定义 Type,Category,那么这个 Activity就匹配了.但是如果手机中有两个以上的程序匹配,那么就会弹出一个对话可框来提示说明. Action的值在Android中有很多预定义,如果你想直接

Activity中使用Intent实现页面跳转与参数的传递(转)

新建一个FirstAvtivity.java package com.zhuguangwei; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class First

Intent Bundle页面跳转信息的传递

MainActivity LoginActivity LoginLayout

.Net程序员玩转Android开发---(11)页面跳转

在任何程序开发中,都会遇到页面之间跳转的情况,Android开发也不例外.这一节,我们来认识下Android项目中怎样进行页面跳转.页面跳转分为有参数和无参数页面跳转,已经接受另一个页面的返回值等.Android中页面跳转常用到的是Intent ,但是Intent不仅用做页面跳转,还可以做其他事情,例如拨打电话,发送短信,调用其他程序等.这节我们主要认识下怎样通过Intent进行页面跳转. 1.页面跳转 2.带参数页面跳转

Android自学笔记之Intent 页面跳转详解

Intent:意图,协助完成Android各个组件之间的通讯    实现跳转功能有两种实现方式:1.无返回值的跳转 2.有返回值的跳转 一.无返回值的跳转实现需要用到的方法:startActivity(intent) 二.有返回值的跳转实现需要用到的方法: startActivityForResult(intent,requestCode)//有返回值 onActivityResult(int requestCode,int resultCode,Intent data)//接收返回值A页面 s