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は、データの種類、型によって変わってくる。