使用Intent实现页面跳转 (另一种方法)

package com.example.demo1;

import android.app.Activity;
import android.content.Context;
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 Context mContext;
	private TextView tv;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.factivity);
		/*
		 * 通过点击bt1实现页面之间的跳转
		 * 1.startActivity的方式来实现
		 * <1>初始化Intent
		 */
		mContext=this;
		tv=(TextView) findViewById(R.id.textView1);
		bt1=(Button)findViewById(R.id.button1_first);
		bt2=(Button) findViewById(R.id.button2_second);
		//注册点击事件
		bt1.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				/*
				 * 第一个参数:上下文对象this
				 * 第二个参数:目标文件
				 */
				Intent intent=new Intent(mContext, SActivity.class);
				startActivity(intent);
			}
		});
		
		/*
		 * 通过startActivityForresult
		 */
		bt2.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View arg0) {
				Intent intent=new Intent(mContext, SActivity.class);
				/*
				 * 第一个参数是Intent对象
				 * 第二个参数是请求的一个标识
				 */
				startActivityForResult(intent, 1);
			}
		});
	}
		/*
		 * 通过startActivityForresult跳转,接受返回数据的方法
		 * requestCode:请求的标识
		 * resultCode:代表第二个页面返回的标识
		 * data:第二个页面回传的数据
		 */
		@Override
		protected void onActivityResult(int requestCode, int resultCode, Intent data) {
			// TODO Auto-generated method stub
			super.onActivityResult(requestCode, resultCode, data);
			if(requestCode==1&&resultCode==2){
				String content=data.getStringExtra("data");
				tv.setText(content);
			}
			
		}
	
}


package com.example.demo1;

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 bt;
	private String content="你好";
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.sactivity);
		/*
		 * 第二个页面什么时候给第一个页面回传数据
		 * 回传到第一个页面的实际上是一个Intent对象
		 */
		bt=(Button) findViewById(R.id.button1);
		bt.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				Intent data=new Intent();
				data.putExtra("data", content);
				setResult(2, data);
				//结束当前页面
				finish();
			}
		});
	}
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Android Intent一种用于在应用程序组件之间传递消息的机制。通过使用Intent,我们可以启动另一个Activity或Service,并将数据传递给它们。在Android中,Intent跳转页面是一种常见的用法,可以通过Intent来启动另一个Activity,从而实现页面跳转。 ### 回答2: Android Intent是Android平台中最重要的技术之一,用于在应用程序中调用其他应用程序的功能或在应用程序内部进行页面之间的切换。Intent在Android开发中起到至关重要的作用,它允许应用程序发送请求去查看其他应用程序中的数据或者执行特定的动作。 Android Intent跳转页面是在应用程序内部实现页面之间的跳转,它可以将数据通过Intent的putExtra方法传递给目标Activity实现更加个性化的跳转操作。 Android Intent跳转页面需要通过代码设置Intent的相关参数实现。其中,主要需要设置的参数包括要跳转的Activity类、传输数据的Intent参数等等。 对于要跳转的目标Activity类,需要在Intent的构造方法中指定目标Activity的类名,如下所示: ``` Intent intent = new Intent(this, TargetActivity.class); startActivity(intent); //跳转到目标Activity ``` 如果需要在跳转页面的同时传递数据到目标Activity中,则需要在Intent中调用putExtra方法,并传递参数名称和参数值的键值对,如下所示: ``` Intent intent = new Intent(this, TargetActivity.class); intent.putExtra("data", "Hello World!"); //传递字符串 startActivity(intent); //跳转到目标Activity,并传递数据 ``` 在目标Activity中,可以通过调用getIntent方法获取到传递的Intent,并调用其getExtra方法获取传递过来的参数值,如下所示: ``` Intent intent = getIntent(); String data = intent.getStringExtra("data"); //获取传递过来的字符串 ``` 总之,Android Intent跳转页面是Android开发中必不可少的技术,它可以让我们在应用程序内更加方便、灵活地进行页面之间的切换和数据的传递。同时,需要注意的是,在使用Intent跳转时,必须保证目标Activity的类名和传输数据的参数名称与值在应用程序中的代码中都必须是正确的,才能确保跳转的成功。 ### 回答3: Android Intent 跳转页面是 Android 开发中的一个常用功能。Intent 通常用来在应用程序组件之间传递数据和开启活动(Activity)或服务,实现不同组件之间的通信。 Android Intent 分为显式 Intent 和隐式 Intent。显式 Intent 指定了具体的组件(activity、service、broadcast receiver)的名称,用来明确指示 App 中的一个组件需要执行特定的操作。隐式 Intent 则没有指明组件名称,而是指定了一系列需要满足的条件,让系统来寻找合适的组件去执行指定的操作。 在使用 Intent 跳转页面时,一般先需要定义 Intent,并设置需要传递的参数。然后使用 startActivity() 方法启动新的 Activity,或使用 startActivityForResult() 方法启动新的 Activity 并返回结果。 下面是一个使用显式 Intent 跳转的例子: ```kotlin // 声明 Intent val intent = Intent(this, SecondActivity::class.java) // 传递参数 intent.putExtra("key", value) // 开始跳转 startActivity(intent) ``` 在这个例子中,我们声明了一个 Intent,指定了需要启动的 Activity,然后使用 putExtra() 方法传递参数,最后使用 startActivity() 方法启动新的 Activity。 如果要支持 Activity 返回结果,则需要使用 startActivityForResult() 方法。下面是一个示例: ```kotlin // 声明 Intent val intent = Intent(this, SecondActivity::class.java) // 传递参数 intent.putExtra("key", value) // 开始跳转 startActivityForResult(intent, REQUEST_CODE) ``` 在这个例子中,我们同样声明了一个 Intent,指定了需要启动的 Activity,然后使用 putExtra() 方法传递参数,使用 startActivityForResult() 方法启动新的 Activity,并指定一个 REQUEST_CODE 作为返回标识,用于区分不同的返回结果。 在新的 Activity 中,在需要返回结果的地方使用 setResult() 方法返回数据,并调用 finish() 关闭当前 Activity。下面是一个示例: ```kotlin // 返回结果 val data = Intent() data.putExtra("result", result) setResult(Activity.RESULT_OK, data) // 关闭 Activity finish() ``` 在这个例子中,我们使用 setResult() 方法设置返回结果,包括返回码和数据,然后使用 finish() 方法关闭当前 Activity。 总的来说,通过 Intent 跳转页面是 Android 开发中的一个基础功能,需要熟练掌握,才能更好地开发出高质量的 Android 应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值