随笔 - 299  文章 - 0  评论 - 0  阅读 - 6322 

使用Intent在Activity之间传递信息
1、首先创建一个新的Activity,在activity_main.xml中设计页面,将android.support.constraint.ConstraintLayout改为LinearLayout(线性模式),修改后尾部会自动改为LinearLayout,给予一个方向android:orientation=“vertical”,删除原有的TextView.添加TextView、button等控件。
2、在MainActivity中绑定这个控件的id,并设置按钮的单击监听事件,在设置按钮的单击事件时,我们实现两个页面的跳转,主要通过intent实现,要完成两个页面的跳转,首先要在新建一个activity,通过intent来绑定这两个页面

3、要实现两个页面的跳转,我们要在Java中新建一个BattleActivity,并设置它的界面,添加控件。

4、同样在BattleActivity里面我们也要先设置一下界面 ,添加按钮等控件。

5、要实现两个页面的传递,需要调用startActivityForResult(Intent,requestCode)函数,参数intent用于决定启动哪个Activity,参数requestCode是请求码,因为所有被调用的(子)Activity返回时,调用的(父)Activity都要调用相同的处理函数,因此父Activity使用RequestCode来确定数据是哪一个子Activity返回的。

6、置子Activity的返回值,在子Activity调用finish()函数关闭前,调用setRequest()函数设定需要返回给父Activity的数据,setRequest()函数有两个参数,一个是结果码,一个是返回值。结果码表示子Activity的返回状态,可自定义结果码。Activity返回值封装在Intet中,则子Activity通过intent将需要返回的数据传递给父Activity。

7、在父Activity中获取返回值,当子Activity关闭后,父Activity会调用onActivityResult()函数,用来获取子Activity的返回值,onActivityResult()有3个参数,其中第一个参数是请求码,用来判断第3个参数是哪一个子Activity的返回值;resultCode用于表示子Activity的数据返回状态;data是子Activity的返回数据,返回数据类型是intent。
之后通过switch函数来判断请求码,并设置相应请求码的事件。Case1时执行BattleActivity里相应的事情,Case2时执行shopActivity里相应的事情。BattleActivity和shopActivity页面中的按钮控件同样的方法来设置。

posted on   杨申龙  阅读(26)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
点击右上角即可分享
微信分享提示