問題点
RegistActivityからMainActivityにデータを渡したいのですが反映されません。
原因をいくつか考えていますが、直りませんでした。
- ”startActivity(intent)の場所”がMainActivityにあるため。場所をRegistActivityに変更しても変わらず、、、
- intent.putExtraの中身が違う。第一引数と第二引数の意味があまり理解できていません、、、
また、一般的なintentの使い方は以下の感じだと認識しています。
===遷移元(RegistActivity)===
Intent intent = new Intent(RegistActivity(),MainActivity.class);
intent.putExtra("value", strAge);
startActivity(intent);
===遷移先(MainActivity)===
Intent intent = getIntent();
String value = intent.getStringExtra("value");
自分のコード
RegistActivity
1 2 @Override 3 public void onClick(View view2) { 4 5 //Intentクラスのオブジェクトを生成 6 Intent intent = new Intent(); 7 int id = view2.getId(); 8 9 TextView ageForm = findViewById(R.id.ageForm); 10 String strAge; 11 strAge = ageForm.getText().toString(); 12 13 intent.putExtra("value", strAge); 14 15 RegistActivity.this.finish(); 16 } 17
MainActivity
1@Override 2 protected void onCreate(Bundle savedInstanceState) { 3 super.onCreate(savedInstanceState); 4 //activity_mainのレイアウトをContentViewに設定 5 setContentView(R.layout.activity_main); 6 7 TextView ageForm = this.findViewById(R.id.ageForm); 8 Intent intent = getIntent(); 9 String strAge = intent.getStringExtra("value"); 10 ageForm.setText(strAge); 11 12 // activity_main内のregistButtonを取得 13 Button goRegistButton = findViewById(R.id.regist); 14 //ボタンがクリックされた時の処理を追加 15 goRegistButton.setOnClickListener(new View.OnClickListener() { 16 @Override 17 public void onClick(View view2) { 18 //Intentを利用して他のアクティビティに遷移する 19 Intent intent = new Intent(MainActivity.this, RegistActivity.class); 20 21 startActivity(intent); 22 } 23 }); 24}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/09/24 12:51
2020/09/24 12:58
2020/09/24 15:16 編集
2020/09/25 01:47