android 跳转传对象,android的Activity之间的跳转传值

在android中有许多的界面Activity(活动),我们经常要在各个界面中跳转来跳转去,有时候还需要传递数据,所以给大家介绍一下Intent(意图)

在我们跳转的时候需要用到Intent意图来指定,并且Intent也可以带数据传递,下面上代码

新建一个工程,并且新建一个Activity,此时我们的项目中就有两个Activity,现在我们从MainActivity跳到第二个Activity中

MainActivity代码public class MainActivity extends AppCompatActivity implements View.OnClickListener{

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

findViewById(R.id.bt1).setOnClickListener(this);//带参数的点击

findViewById(R.id.bt2).setOnClickListener(this);//不带参数的点击

}

@Override

public void onClick(View view) {

switch (view.getId()){

case R.id.bt1:

//新建意图,第一个参数是所在的Activity上下文,第二个参数是目标Activity的class对象

Intent intent1 = new Intent(MainActivity.this, Activity2.class);

//以key value的形式传递数据key是(name)

intent1.putExtra("name","我是MainActivity传过去的数据");

//开始意图

startActivity(intent1);

break;

case R.id.bt2:

//新建意图,第一个参数是所在的Activity上下文,第二个参数是目标Activity的class对象

Intent intent = new Intent(MainActivity.this, Activity2.class);

//开始意图

startActivity(intent);

break;

}

}

}

主布局<?xml  version="1.0" encoding="utf-8"?>

xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"

tools:context="comiptv.example.vincent.videotest.MainActivity">

android:textSize="30sp"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="我是Activity1"/>

android:id="@+id/bt1"

android:text="点击跳转到Activity2(带数据)"

android:layout_width="wrap_content"

android:layout_height="wrap_content"/>

android:id="@+id/bt2"

android:text="点击跳转到Activity2(不带数据)"

android:layout_width="wrap_content"

android:layout_height="wrap_content"/>

Activity2代码private TextView tv;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_2);

//通过getIntent拿到intent

Intent intent = getIntent();

//通过key值(name)拿到数据

String name = intent.getStringExtra("name");

tv = (TextView) findViewById(R.id.tv);

if (null!=name){

tv.setText(name);

}

}

Activity2布局<?xml  version="1.0" encoding="utf-8"?>

xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"

tools:context="comiptv.example.vincent.videotest.Activity2">

android:textSize="30sp"

android:text="我是Activity2"

android:layout_width="wrap_content"

android:layout_height="wrap_content"/>

android:textSize="30sp"

android:id="@+id/tv"

android:layout_width="wrap_content"

android:layout_height="wrap_content"/>

效果

AAffA0nNPuCLAAAAAElFTkSuQmCC

带参数的跳转效果

AAffA0nNPuCLAAAAAElFTkSuQmCC

不带参数的跳转

AAffA0nNPuCLAAAAAElFTkSuQmCC

好啦 就是这样

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值