【Android Studio】Intent的使用-返回数据给上一个活动。两个页面之间互相传递数据
在Android Studio数据传递(一)的基础上添加一下东西
1.退出按钮
源码:
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:onClick="click"
android:text="退出"/>
2.按钮事件
源码:
//退出
//说明:
//setResult()方法接收两个参数,第一个参数用于向上一个活动返回处理结果,
// 一般只使用 RESULT_OK 或RESULT_CANCELED 这两个值,
// 第二个参数则是把带有数据的 Intent 传递回去,然后调用了 finish()方法来销毁当前活动。
public void click(View view) {
Intent intent = new Intent();
// Toast.makeText(this,"123",Toast.LENGTH_SHORT).show();
intent.putExtra("second_dada","您好!我是第二个界面返回的值");
setResult(RESULT_OK,intent);
finish();
}
3.接收数据
源码:
//数据回传
@Override
protected void onActivityResult(int requestCode,int resultCode ,Intent data){
super.onActivityResult(requestCode,resultCode,data);
if(requestCode == 1){
Toast.makeText(this,"123", Toast.LENGTH_SHORT).show();
if(resultCode == RESULT_OK){
Toast.makeText(this,"456", Toast.LENGTH_SHORT).show();
String string = data.getStringExtra("second_dada");
Toast.makeText(this,string, Toast.LENGTH_SHORT).show();
}
}
}
源码:
//数据传递
public void passDate(){
//创建Intent对象,启动第二个界面
Intent intent = new Intent(this,ShowActivity.class);
//上货(需要传递的数据)
intent.putExtra("name",et_name.getText().toString().trim());
intent.putExtra("pwd",et_pwd.getText().toString().trim());
// startActivity(intent);
//startActivityForResult()方法接收两个参数,
// 第一个参数还是 Intent,第二个参数是请求码(只要是唯一值就可以),
// 用于在之后的回调中判断数据的来源。
startActivityForResult(intent,1);
}
到这里就完成了!!!!
有问题的话留言讨论!