场景:现有Activity A,B,相互跳转
1.A跳转intent B
public class Activity_a extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_a);
//随便画个按钮跳转
Button btn_b = (Button) findViewById(R.id.to_b);
btn_b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent(Activity_a.this,Activity_b.class);
//想加参数也行 那边暂时不接
intent.putExtra("EXTRA_RESULT", "123")
//2021 和 onActivityResult requestCode 相同
startActivityForResult(intent,2021);
//正常啥不带用这个
this.startActivity(intent);
}
});
}
/**
* onActivityResult接收activity返回的参数
*/
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
val message = data.getStringExtra("EXTRA_RESULT")
if (requestCode == 2021 && resultCode == Activity.RESULT_OK) {
Toast.makeText(context, message, Toast.LENGTH_SHORT).show();
}
}
}
-
B跳转A携带参数 ,onActivityResult接收
public class Activity_b extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.layout_b); Button btn = (Button) findViewById(R.id.b_back_a); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(); intent.putExtra("EXTRA_RESULT", "我是参数"); // 添加返回 RESULT_OK=-1 setResult(Activity.RESULT_OK, intent); this.finish() } }); } }
本文通过两个Activity实例展示了Android应用中Activity间的跳转及参数传递过程,包括如何使用Intent进行Activity之间的启动与数据回传,并给出了具体的实现代码。

721

被折叠的 条评论
为什么被折叠?



