Intentで値を渡しながら画面遷移をした際に戻り値を二つ設定したいのですが、OnActivityResult
の使いかたがよく分かりません。
遷移先から戻った時にexpandablelistviewの指定リストに要素を追加する処理を行いたいのですが、別メソッドになるため扱い方が分からず困っています。
data.getExtra(キー)
で値が取得できると思うのですが、OnActivityResult
は返り値を二つ受け取ることができるのでしょうか?
(複数のアクティビティは使用してないのでrequestcodeは特に気にしていないのですが書いたほうが良いのでしょうか?)
c#
1//遷移 2 var intent = new Intent(this, typeof(memocreate)); 3 4 StartActivityForResult(intent,1);
c#
1//遷移先 2 var resultintent = new Intent(this, typeof(MainActivity)); 3 resultintent.PutExtra("Group", nl); 4 resultintent.PutExtra("name", name); 5 SetResult(Result.Ok, resultintent); 6 Finish();
c#
1//遷移元での処理 2 protected override void OnActivityResult(int requestCode, Result resultCode, Intent data) 3 4 { 5 if (requestCode == 1) 6 { 7 if (resultCode == Result.Ok) 8 { 9 10 11 var ne = data.GetIntExtra("Group", 0); 12 var na = data.GetStringExtra("name"); 13 if (ne == 0) 14 { 15 16 } 17 else if (ne == 1) 18 { 19 Toast.MakeText(this, na, ToastLength.Short).Show();//トーストで値(追加する要素名)の受け渡しは確認済み 20 21 var child = new JavaDictionary<string, object>() { ["CHILD_TITLE"] = na }; 22 Child1Elements.Add(child); 23 24 } 25 else if (ne == 2) 26 { 27 var child = new JavaDictionary<string, object>() { ["CHILD_TITLE"] = na }; 28 Child2Elements.Add(child); 29 } 30 } 31 } 32 33 adapter.NotifyDataSetChanged(); 34 35 36 }
回答1件
あなたの回答
tips
プレビュー