Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用参数从一个活动向后移动到另一个活动_Android - Fatal编程技术网

Android 使用参数从一个活动向后移动到另一个活动

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

我从活动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 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)进行静态引用