测试项目:购买装备
技术点:(1)数据回传是依靠主界面startActivityForResult(intent,requestcode),intent绑定目标activity,requestcode为请求码,这个函数的功能为打开目标界面,并设置请求码;目标界面setResult(resultcode,intent),resultcode为结果码,intent包装回传给主界面的数据,这个函数的功能是设置结果码,并传递数据;主界面onActivityResult(requestcode,resultcode,intent),requestcode请求码,resultcode结果码,intent目标界面包装的数据,这个函数的功能为接收目标界面的数据,可以在该函数内实现目标界面数据对主界面的修改。
(2)本次测试中用到setText为界面重置数据,而setText只能接收String类型,所以利用String.valueOf(int)将数值转换为String。
(3)本次测试传递的数据为实现了Serializable接口的类。
具体实现:
主界面布局代码:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<ImageView
android:id="@+id/robot_img"
android:layout_width="77dp"
android:layout_height="77dp"
android:layout_marginTop="77dp"
android:layout_centerHorizontal="true"
android:src="@mipmap/ic_launcher"/>
<TextView
android:id="@+id/description"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="7dp"
android:layout_centerHorizontal="true"
android:layout_below="@id/robot_img"
android:text="主人,快给小机器人购买装备吧"
android:textSize="17sp"
android:textColor="#dedadc"/>
<TableLayout
android:id="@+id/attribute"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/description">
<TableRow>
<TextView
android:layout_width="0dip"
android:layout_height="wrap_content"
android:text="生命值:"
android:textSize="14sp"
android:textColor="#000"
android:layout_weight="1"/>
<ProgressBar
android:id="@+id/life"
android:layout_width="0dip"
android:layout_height="wrap_content"
style="?android:attr/progressBarStyleHorizontal"
android:layout_gravity="center"
android:layout_weight="2"/>
<TextView
android:id="@+id/life_progress"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="0"
android:gravity="center"
android:textColor="#000"