I have ParentActivity
containing 3 fragments attached to its ViewPagerAdapter
. Then one of these fragments has 2 other fragments (there are 2 buttons switching between those fragments inside this fragment).
When I create intent with startActivityForResult(newIntent, 201)
inside one of these 2 (sub)fragments, as I finish up that started activity by finish()
, inside ParentActivity
s, onActivityResult()
will return requestCode 65737
. What's wrong with it?
SubFragment
addAddressButton.setOnClickListener {
val addressCreateActivityIntent = Intent(context, AddressCreationActivity::class.java)
startActivityForResult(addressCreateActivityIntent, 201)
}
ParentActivity
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()
}
}
}
That means, onActivityResult() will call refresh inside fragment which is parent fragment of that subfragment. And as chain reaction refreshDeliveryFragment() will call one of those 2 subfragments to refresh their recyclerview data.