我刚开始学习Xamarin开发,但在两个活动之间传递int[]时遇到了问题。因此,当活动1启动活动2时,它应该将int[]传递给活动2,并且在活动2上调用“onBackPressed”时,应将int[]传递回活动1。
我已经在四个地方编写了代码。
我已经在四个地方编写了代码。
第一个活动:onCreate()内部
sharedIntent = new Intent(this,typeof(MyListViewActivity));
sharedIntent.PutExtra("SELECTED_LISTVIEW_ITEMS", selectedItems);
btnLaunchListViewActivity.Click += delegate { StartActivity(sharedIntent); };
第二个活动:在onCreate()方法中
var previouslySelectedItems = Intent.GetIntArrayExtra("SELECTED_LISTVIEW_ITEMS");
if(previouslySelectedItems != null)
{
foreach(int position in previouslySelectedItems )
ListView.SetItemChecked(position, true);
}
第二个活动:在onBackPressed()内部
Intent.PutExtra("SELECTED_LISTVIEW_ITEMS", checkedItemPositions);
Activity One : Inside onRestart()
selectedItems = sharedIntent.GetIntArrayExtra("SELECTED_LISTVIEW_ITEMS");
目前看来,我的int[]在Activity Two中“向前”传递,但从未“回到”Activity One。任何帮助将不胜感激!Intent.GetIntArrayExtra在Activity Two中是否调用与Activity One中的sharedIntent相同的意图?