Android Studio基础项目-两个Activity的Intent跳转与传值,并onActivityResult回传一个/多个值,与回传消息内容。
内容如图:
代码接该章节:https://blog.csdn.net/xwbk12/article/details/116561412?spm=1001.2014.3001.5501
一、简单传值
第一步:在MainActivty.java
第二步:重新方法
第三步:打印回传数据值信息
MainActivty.java的代码内容:
package com.xwb.userintent;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.renderscript.RenderScript;
import android.util.Log;
import android.view.View;
import com.xwb.userintent.model.User;
import java.util.HashMap;
import java.util.Map;
public class MainActivity extends AppCompatActivity {
public void tiaozhuan(View v){
Intent intent = new Intent();//跳转意图
//告诉意图,想从哪个界面跳转到哪里
intent.setClass(MainActivity.this,MainActivity_sec.class);//跳转的源、目的
//发送数据,java基本数据类型有8类,不支持Map类型。设置完数据后,需要到MainActivity_sec.activity中接收数据
intent.putExtra("name","haha");
intent.putExtra("age",20);//int型数据
intent.putExtra("aihao",new String[]{"唱歌","打游戏"});
//使用Bundle,发送数据
Bundle bundle = new Bundle();//创建
bundle.putInt("score",100);//设置score值为100
bundle.putString("info","这里是Bundle传值");
intent.putExtras(bundle);//关键处,把bundle值传给intent
//传自定义数据,发送数据
User user = new User("lidada","123456",40);
intent.putExtra("user",user);
//startActivity(intent);//执行跳转
startActivityForResult(intent,100);//第1步设置回传值
}
//第2步重新方法
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Log.i("MainActivity","onActivityResult");//打印该方法是否回传数据值信息
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
第4步:运行APP,当中必须点击返回按钮,才能看到是否回传信息
二、通过requestCode的单一值来判断执行事件
package com.xwb.userintent;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.renderscript.RenderScript;
import android.util.Log;
import android.view.View;
import com.xwb.userintent.model.User;
import java.util.HashMap;
import java.util.Map;
public class MainActivity extends AppCompatActivity {
public void tiaozhuan(View v){
Intent intent = new Intent();//跳转意图
//告诉意图,想从哪个界面跳转到哪里
intent.setClass(MainActivity.this,MainActivity_sec.class);//跳转的源、目的
//发送数据,java基本数据类型有8类,不支持Map类型。设置完数据后,需要到MainActivity_sec.activity中接收数据
intent.putExtra("name","haha");
intent.putExtra("age",20);//int型数据
intent.putExtra("aihao",new String[]{"唱歌","打游戏"});
//使用Bundle,发送数据
Bundle bundle = new Bundle();//创建
bundle.putInt(