将数据从一个活动发送到另一个活动的结果

Arj*_*nan 1 android

我在论坛上搜索但找不到合适的答案.我已经在下面列出了相关部分

活动一

implicitActivationButton.setOnClickListener(new OnClickListener() {

            // Call startImplicitActivation() when pressed
            @Override
            public void onClick(View v) {

Intent myIntent = new Intent(ActivityLoaderActivity.this,
                ExplicitlyLoadedActivity.class);
        startActivityForResult(myIntent, GET_TEXT_REQUEST_CODE);
            }
        });
Run Code Online (Sandbox Code Playgroud)

然后低一点

  protected void onActivityResult(int requestCode, int resultCode, Intent data) {

            Log.i(TAG, "Entered onActivityResult()");


            String input=data.getStringExtra(TAG);
            mUserTextView.setText(input);
        }
Run Code Online (Sandbox Code Playgroud)

这是用户输入一些数据后的活动2

String input=mEditText.getText().toString();


    Intent i = new Intent(ExplicitlyLoadedActivity.this, ActivityLoaderActivity.class);
    i.putExtra("TAG",input);
    startActivity(i);       
    this.setResult(RESULT_OK);      
    finish();
Run Code Online (Sandbox Code Playgroud)

除了屏幕上的文本没有更新,根本没有错误消息.它应该是

Sha*_*tan 6

不需要在第二课开始活动:

你需要改变你的代码:

Intent i = new Intent();  // or // Intent i = getIntent()
i.putExtra("TAG",input);
setResult(RESULT_OK , i);         
finish();
Run Code Online (Sandbox Code Playgroud)

并取消,

setResult(RESULT_CANCELED, i);        
finish();
Run Code Online (Sandbox Code Playgroud)

  • 为什么`new Intent()`getItent()`可以完成这项工作 (2认同)