为了掌握Activity回传数据,我们通过案例装备选择来演示Activity回传数据。
- Activity回传值
activity回传值跟activity值传递的思想一样,只是用到的startActivityForResult和onActivityResult方法,前者主要用于将值以参数形式从第一个activity传到另一个activity传递过去;后者主要用于第一个activity接收第二个activity返回的值,其中用到setResult方法,在intent回第一个activity时把最终结果以参数形式返回到第一个activity中,然后第一个activity再接收返回值。
其中只有在发送请求编码requestCode和返回值编码resultCode相等的时候才能确定对方的关系,才能进行值传递和回传值。 - 装备选择案例设计思路
(1)创建程序 默认名字 包名修改为bzu.edu.cn,包名可以自己设定,然后设计用户交互页面。装备选择程序对应的布局文件(activity-main.xml),整体采用线性布局来写,在垂直状态下分布。
选择一张图片保存在res/drawable下作为游戏的人物图片。
<?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:gravity="center"
android:orientation="vertical"
tools:context="cn.edu.bzu.myapplication.MainActivity">
<TextView
android:id="@+id/pet_dialog_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="25dp"
android:gravity="center"
android:text="主人,快给小宝宝购买装备吧" />
<ImageView
android:id="@+id/pet_imgv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="5dp"
android:layout_marginTop="30dp"
android:src="@drawable/baby" />
<TableLayout
android:layout_width="fill_parent"
a