【安卓初步】Intent

使用intent可以实现在活动之间的穿梭,实现信息的传递,是各组件之间进行交互的重要方式

intent //n. 意图;目的;含义

Intent启动活动

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

向下一个活动传递数据

putExtra() Extra //n. 额外的事物;

Intent intent =new Intent(MainActivity.this,SecondActivity.class);
intent.putExtra("aaaa",1);//第一个参数是键用于后面取值,第二个参数是数据
startActivity(intent);

在新活动中获取数据

getIntent();

Intent intent=getIntent();
int aaa=intent.getIntExtra("aaaa");

返回数据给上一个活动

启动活动时使用startActivityForResult(),第一个参数是intent,第二个参数是请求码,用于判断数据来源

Activity 1

Intent intent =new Intent(MainActivity.this,SecondActivity.class);
startActivityForResult(intent,1);

Activity 2 返回

扫描二维码关注公众号,回复: 10301819 查看本文章
Intent intent=new Intent();
int aaa=intent.getIntExtra("aaaa");
setResult(RESULT_OK,intent);//RESULT_OK表式正确返回

上一个活动得到数据

//三个参数,请求码,结果(上面的RESULT_OK),传递的数据
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    switch (requestCode){
        case 1:
            if (resultCode==RESULT_OK){
                Log.d("TAG", "onActivityResult: "+data.getIntExtra("aaaa",2));
                //getIntExtra("aaaa",2)),第一个参数是键,第二个参数是默认值,如果没有,或得不到的话,就会使用默认值
            }
    }
}
发布了136 篇原创文章 · 获赞 18 · 访问量 4173

猜你喜欢

转载自blog.csdn.net/xcdq_aaa/article/details/105158015
今日推荐