使用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 2023-02-27 16:05  杨申龙  阅读(31)  评论(0)    收藏  举报