结果问题的片段启动活动的片段



我有ParentActivity包含3 个片段附加到其ViewPagerAdapter。然后其中一个片段有另外 2 个片段(在这个片段内有 2 个按钮在这些片段之间切换(。

当我在这 2(子(片段之一内创建带有startActivityForResult(newIntent, 201)的意图时,当我完成finish()开始的活动时,在ParentActivitys 内,onActivityResult()将返回requestCode 65737。怎么了?

子片段

addAddressButton.setOnClickListener {
val addressCreateActivityIntent = Intent(context, AddressCreationActivity::class.java)
startActivityForResult(addressCreateActivityIntent, 201)
}

家长活动

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
//addAddressActivity
if (requestCode == 201){
if (((pagerAdapter!!.getItem(1)) as OrderCartPaymentFragment).view != null){
createLog("DeliveryAddress ", "RefreshingAddressData -> OrderCart")
((pagerAdapter!!.getItem(1)) as OrderCartPaymentFragment).refreshDeliveryFragmentData()
}
}
}

这意味着,onActivityResult(( 将调用刷新内部片段,该片段是该子片段的父片段。随着链式反应刷新DeliveryFragment((将调用这两个子片段之一来刷新其回收器视图数据。

这是答案

https://stackoverflow.com/a/10564488/9313652

您应该更改:

startActivityForResult(newIntent, 201)

自:

getActivity().startActivityForResult(newIntent, 201)

相关内容

  • 没有找到相关文章

最新更新