简体   繁体   中英

I am not able to return data from sub activity in android studio

Now error is showing in my program but it is not its not printing input from my second activity in the text view of main activity. when i click on the close button it simply takes me to the first activity but doesn't print the the input given in the sub activity in the main activity text view.

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);

    }
}

after serResault you must finish the second activity.

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM