Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.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
Java 无需startActivity即可按意图移动数据_Java_Android - Fatal编程技术网

Java 无需startActivity即可按意图移动数据

Java 无需startActivity即可按意图移动数据,java,android,Java,Android,我有两项活动。在第二个活动中,我想通过按钮“返回”将数据移动到第一个活动 通常我会这样移动: button12.setOnClickListener(new View.OnClickListener() { public void onClick(View view) { pass=editText2.getText().toString(); Intent intent = new Intent(FirstActivity.this, MapsAc

我有两项活动。在第二个活动中,我想通过按钮“返回”将数据移动到第一个活动

通常我会这样移动:

button12.setOnClickListener(new View.OnClickListener() {

    public void onClick(View view) {

        pass=editText2.getText().toString();

        Intent intent = new Intent(FirstActivity.this, MapsActivity.class);

        intent.putExtra("pass_value", pass);
        startActivity(intent);

    }
});
但是现在我不想开始活动,而是想关闭活动,所以我需要使用
finish()

目前我创建了此,但没有工作:

b2.setOnClickListener(new View.OnClickListener() {

    public void onClick(View view) {

        Intent intent = new Intent(MainActivity.this, FirstActivity.class);
        intent.putExtra("number", numberOfTrue);
        finish();

    }
});
在这段代码中我需要更多的东西,但我不知道是什么。

b2.setOnClickListener(newview.OnClickListener(){


开始一项新的活动

 Intent intent = new Intent(FirstActivity.this, MapsActivity.class);
        intent.putExtra("pass_value", pass);
 startActivityForResult(intent,1)
您可以使用setResult方法来实现所需的结果

Intent output = new Intent();
output.putExtra("number", numberOfTrue);
setResult(Activity.RESULT_OK, output);
finish();
在FirstActivity中获得您的结果

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == 1 && resultCode == Activity.RESULT_OK && data != null) {
        int num = data.getIntExtra("pass_value");

    }
}

您需要按功能打开startActivityForResult
startActivityForResult(意向,int请求代码)

并获取函数中返回的数据
onActivityResult


例如,你可以看到一张照片的相机面

创建一个单独的类或共享首选项来存储数据,并在以后的活动中检索数据。使用intent将创建一个新的活动..因此创建新实例不是一个好方法显然选择是
startActivityForResult
带有setResult的代码块也是一个好方法需要吗?只有1块和3块代码吗?您显示了3块代码,“开始一个新的活动”,“您可以使用setResult方法来实现您想要的结果”和“得到您想要的结果”是的,这样您就可以得到您想要的,有什么问题吗“int num=data.getIntExtra(“number”);“这里有问题-意图无法应用于(字符串)和(Int)
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == 1 && resultCode == Activity.RESULT_OK && data != null) {
        int num = data.getIntExtra("pass_value");

    }
}