Android。Activity遷移。データの受け渡し

遷移

Intent intent = new Intent(MainActivity.this, SubActivity.class);
startActivity(intent);

戻る。finish

package your.package.name;
 
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
 
 
public class SubActivity extends AppCompatActivity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
 
        setContentView(R.layout.activity_sub);
 
        Button returnButton = findViewById(R.id.return_button);
        returnButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                finish();
            }
        });
    }
 
}

データの受け渡し。putExtra

データの受け渡し

String data1 = "test";

Intent intent = new Intent(getApplication(), SubActivity.class);
intent.putExtra("EXTRA_DATA", data1);
startActivity(intent);

データを受け取る

Intent intent = getIntent();
data1 = intent.getIntExtra(EXTRA_DATA, 0);

戻ってきた時に、さらに受け取る

ということもできるらしい。詳しくは以下の記事

データの受け渡し


    // SubActivity からの返しの結果を受け取る
    protected void onActivityResult( int requestCode, int resultCode, Intent intent) {
        super.onActivityResult(requestCode, resultCode, intent);
 
        if(resultCode == RESULT_OK && requestCode == RESULT_SUBACTIVITY &&
                null != intent) {
            String res = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);
            textView.setText(res);
        }
    }

getStringExtraは、データの種類、型によって変わってくる。