java - 我无法从 android studio 中的子 Activity 返回数据

标签 java android android-studio

现在我的程序中显示错误,但这并不是它没有在主 Activity 的 TextView 中打印我的第二个 Activity 的输入。 当我单击关闭按钮时,它只会将我带到第一个 Activity ,但不会打印主 Activity TextView 中子 Activity 中给出的输入。

java

import androidx.appcompat.app.AppCompatActivity;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {
    private static final int REQUEST_CODE = 1000;
    TextView t;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    public void Launch(View view){
        Intent intent = new Intent(this,SecondActivity.class);
        startActivityForResult(intent,REQUEST_CODE);
    }
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data)
    {
        if ((requestCode==REQUEST_CODE)
            &&(resultCode== Activity.RESULT_OK))
        {t.setText(data.getStringExtra("secondactivity"));

        }
    }
}

java

import androidx.appcompat.app.AppCompatActivity;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

import java.util.Set;

public class SecondActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);
        Button button = (Button) findViewById(R.id.button2);
    }
    public  void Close(View view)
    {
        Intent intent = new Intent();
        EditText e = (EditText) findViewById(R.id.editText);
        String data = e.getText().toString();
        intent.putExtra("secondactivity",data);
        setResult(Activity.RESULT_OK,intent);
        Intent i = new Intent(this,MainActivity.class);
        startActivity(i);

    }
}

最佳答案

在 serResault 之后,您必须完成第二个 Activity 。

setResault(Activity.RESAULT_OK,intent);
finish();

关于java - 我无法从 android studio 中的子 Activity 返回数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59803504/

相关文章:

java - Android 电话通话流

android-studio - 在 Android Studio 中使用 assembleRelease 编译 apk 时 proguardRelease FAILED

java - 使用 JavaFX 调节每秒执行次数

java - Apache HTTP下Java环境上传文件后字符集发生变化

android - 取消 remoteInput 不工作的通知

android - 尝试构建 ionic 应用程序并获取 ANDROID_HOME 消息

android - Android Studio不支持的gradle版本,但我使用的是兼容版本

android - toast.getView() 和 toast.setView() 已弃用

java - 按多个字段对对象列表进行排序

java - Android Studio 无法解析方法 SetOnItemClickListener (Java)