Android开发,向上一个activity返回数据
我们在安卓开发学习中会遇到需要返回数据的情况,这里我们使用了几个方法 1、startActivityForResult通过这个方法我们可以启动另外一个活动 2、onBasePressed使用这个方法我们可以
点击返回键返回数据到上一个活动 3、onActivityResult我们在需要接收返回数据的界面重写,我们可以接收到返回的数据
我们现在有两个活动:
在activity1中:
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
protected TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
this.findViewById(R.id.bt_1).setOnClickListener(this);
tv = this.findViewById(R.id.tv_1);
}
@Override
public void onClick(View view) {
//这个只是单纯用来启动第二个活动的
Intent intent = new Intent(this,getpageActivity.class);
startActivityForResult(intent,1);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == 1){
if(resultCode == RESULT_OK){
String getreturndata = data.getStringExtra("returndata");
tv.setText(getreturndata);
}
}
}
}
在activity2中:重写onBasePressed方法,点击返回按钮可将数据返回到上一个活动
public void onBackPressed() {
//这个只是单纯用来存储数据而新建的
Intent intent = new Intent();
//
intent.putExtra("returndata","你好我是返回的数据");
setResult(RESULT_OK,intent);
finish();
}