Фрагмент Фрагмента, начинающего действие для результата выдачи - PullRequest
0 голосов
/ 31 августа 2018

У меня ParentActivity, содержащий 3 фрагмента , прикрепленных к его ViewPagerAdapter. Тогда один из этих фрагментов имеет 2 других фрагмента (между этими фрагментами внутри этого фрагмента есть 2 кнопки).

Когда я создаю намерение с startActivityForResult(newIntent, 201) внутри одного из этих 2 (под) фрагментов, когда я заканчиваю начатое действие на finish(), внутри ParentActivity s, onActivityResult() вернет requestCode 65737. Что с ним не так?

субфрагмент

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()
            }
        }
    }

Это означает, что onActivityResult () будет вызывать обновление внутри фрагмента, который является родительским фрагментом этого субфрагмента. И как цепная реакция refreshDeliveryFragment () будет вызывать один из этих 2-х субфрагментов, чтобы обновить свои данные повторного просмотра.

1 Ответ

0 голосов
/ 31 августа 2018

вот ответ

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

Вы должны просто изменить:

startActivityForResult(newIntent, 201)

до:

getActivity().startActivityForResult(newIntent, 201)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...