ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Android 学习笔记--android——Activity学习

2021-12-17 13:35:01  阅读:194  来源: 互联网

标签:界面 putExtra -- Intent Activity msg intent Android data


Activity
创建的三要素:
1、创建的类要去继承activity
2、setContentView();应用布局文件
3、在清单文件中进行配置
android:name="com.example.ex_0310_01.MainActivity"
(包名.类名)

1、
A---->B
调用startActivity(intent);
A界面:

    //获得一个意图对象
    Intent intent = new Intent();
    intent.setClass(MainActivity.this, SecondActivity.class);        
    //传递附加消息  
    //以键值对的形式去传递消息
    //key:必须是字符串
    //value:基本数据类型,以及实现了序列化接口的对象
    intent.putExtra("key1", "你好");
    intent.putExtra("key2", true);
    //开启一个新的activity
    startActivity(intent);

B界面:

//获取A界面传过来的意图对象
Intent intent = getIntent();
//通过key去把意图对象里的信息获取到
boolean extra = intent.getBooleanExtra("key3", false);
String str = intent.getStringExtra("key1");

2、
A---->B---->A
A:

    // 获得一个意图对象
    Intent intent = new Intent();
    intent.setClass(MainActivity.this, SecondActivity.class);
    // 传递消息
    // 以键值对的形式去传递消息
    // key:必须是字符串
    // value:基本数据类型,以及实现了序列化接口的对象
    intent.putExtra("key1", "你好");
    intent.putExtra("key2", true);
    // 开启一个新的activity 并且等待消息返回
    startActivityForResult(intent, 0);

B:

    Intent data = new Intent();
    data.putExtra("msg", "消息已收到");
    setResult(0, data );
    //关闭当前界面
    finish();

A:

    //接收B界面返回的消息
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data)
    {   
        super.onActivityResult(requestCode, resultCode, data);
        String msg = data.getStringExtra("msg");
        mTextView.setText(msg);
    }

请求码:
A有两个按钮,都是跳转到B,B界面处理完返回消息,
就用请求码进行区分,是点击了哪一个按钮跳转到B,然后
返回A的
startActivityForResult(intent , 请求码);

结果码:
B有两个按钮,都是跳回到A,A界面就是通过结果码来进行判断
返回不同的处理信息
setResult(结果码, data );

对于消息的处理都是在onActivityResult这个方法中去实现的。

如果想学习了解更多Android知识的可以观看下面的视频哦
相关视频
Android知识理论

标签:界面,putExtra,--,Intent,Activity,msg,intent,Android,data
来源: https://www.cnblogs.com/sdsdw/p/15701873.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有