Activity系列:startActivityForResult的用法
Posted zhangjin1120
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Activity系列:startActivityForResult的用法相关的知识,希望对你有一定的参考价值。
模拟一个使用场景,从MainActivity跳转到ChangeNameActivity,修改客户姓名后,把修改的结果返回给MainActivity。
MainActivity代码
public class MainActivity extends AppCompatActivity {
private static final String TAG = "xx";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void changeName(View view) {
Intent intent = new Intent(this, ChangeNameActivity.class);
startActivityForResult(intent,99);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Log.i(TAG, "onActivityResult: " + requestCode + " " + resultCode + " " + data.getStringExtra("hh"));
}
}
ChangeNameActivity代码
public class ChangeNameActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_change_name);
}
public void changeSuccess(View view) {
Intent intent = new Intent();
intent.putExtra("hh", "刘德华");
setResult(RESULT_OK,intent);
finish(); //必须调用finish(),并且setResult()必须在finish之前
}
}
以上是关于Activity系列:startActivityForResult的用法的主要内容,如果未能解决你的问题,请参考以下文章
Kotlin基础从入门到进阶系列讲解(入门篇)Activity的使用