Android 使用参数从一个活动向后移动到另一个活动
我从活动A移动到B,然后在某些情况下(不按后退按钮),从B的Android 使用参数从一个活动向后移动到另一个活动,android,Android,我从活动A移动到B,然后在某些情况下(不按后退按钮),从B的onCreate()方法之外从B移动到A,以及我必须在活动A的文本视图上显示的字符串值。我正在尝试使用finish()和super.finish()方法但它们不起作用可能是因为我在B的onCreate()方法之外使用了它们,所以我的问题是: 如何从B的onCreate()方法的外部将B移回A 如何在从B移回a时传递参数 当从B移回A时,如何在A中接收该参数 下面是我用来从A移到B的代码 Intent intent = new Inten
onCreate()
方法之外从B移动到A,以及我必须在活动A的文本视图上显示的字符串值。我正在尝试使用finish()
和super.finish()
方法但它们不起作用可能是因为我在B的onCreate()方法之外使用了它们,所以我的问题是:
如何从B的onCreate()
方法的外部将B移回A
如何在从B移回a时传递参数
当从B移回A时,如何在A中接收该参数
下面是我用来从A移到B的代码
Intent intent = new Intent(A.this, B.class);
startActivity(intent);
感谢您在活动B
课堂写作中的帮助:
Intent intent= new Intent();
intent.putExtra("param", "value");
setResult(RESULT_OK, intent);
finish();
在活动A中
类添加:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(resultCode == RESULT_OK) {
if(data != null) {
String value = data.getStringExtra("param");
}
}
}
使用startActivityForResult方法启动活动B
Intent intent = new Intent(A.this.getApplicationContext(), B.class);
startActivityForResult(intent, 2404);
有关从一个活动向后移动到另一个活动以及数据的教程,您可以访问此链接:选中此链接:无法从外部完成活动B调用活动B中的finish返回活动a tartActivityForresulty+1@IrcoverstartActivityForResult代码值(intent,2404)不应与setResult中的相同(结果\u OK,意图)?我说的是2404,结果并不重要。代码值(现在是2404)将作为requestCode
调用放入onActivityResult
中-使用此选项,您可以找出哪个活动返回此结果。为什么要尝试从静态方法设置结果?如果不引用Activity
对象,则无法执行此操作。在oncreate()之外使用setResult时,我仍然面临此错误。无法从类型Activity对非静态方法setResult(int,Intent)进行静态引用