为了账号安全,请及时绑定邮箱和手机立即绑定

android的Activity之间的跳转传值

标签:
Android

在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"?>
<LinearLayout
    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">

    <TextView
        android:textSize="30sp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="我是Activity1"/>
    <Button
        android:id="@+id/bt1"
        android:text="点击跳转到Activity2(带数据)"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>
    <Button
        android:id="@+id/bt2"
        android:text="点击跳转到Activity2(不带数据)"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>
</LinearLayout>

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"?>
<LinearLayout
    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">

    <TextView
        android:textSize="30sp"
        android:text="我是Activity2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>
    <TextView
        android:textSize="30sp"
        android:id="@+id/tv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

</LinearLayout>

效果

5bb620b00001ca7003900684.jpg

带参数的跳转效果

5bb620b00001d54f04060722.jpg

不带参数的跳转

5bb620b10001605204060722.jpg

好啦 就是这样

原文链接:http://www.apkbus.com/blog-843025-61762.html

点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消