Котлин: FragmentManager внутри фрагмента становится нулевым - PullRequest
0 голосов
/ 10 мая 2019

Это мой код:

Places.initialize(context!!, getString(R.string.google_api_key))
        val autocompleteFragment : AutocompleteSupportFragment = fragmentManager?.findFragmentById(R.id.autocomplete_fragment) as AutocompleteSupportFragment
        autocompleteFragment.setCountry("NO")
        autocompleteFragment.setPlaceFields(Arrays.asList(Place.Field.ID, Place.Field.NAME, Place.Field.LAT_LNG, Place.Field.ADDRESS, Place.Field.ADDRESS_COMPONENTS))

        autocompleteFragment.setOnPlaceSelectedListener(object : PlaceSelectionListener {
            override fun onPlaceSelected(place: Place) {
                onPlaceSelectedOverride(place)
                Log.d("myTag", place.address + " - " + place.addressComponents + " - " + place.latLng)
            }

            override fun onError(status: Status) {
                throw RuntimeException()
            }
        })

Проблема в фрагменте менеджера.Ранее код был помещен в onCreate () mainActivity, и код имел эту разницу.

val autocompleteFragment : AutocompleteSupportFragment = supportFragmentManager.findFragmentById(R.id.autocomplete_fragment) as AutocompleteSupportFragment

Но при перемещении кода в другой фрагмент возникали всевозможные проблемы.FragmentManager, кажется, является нулем.Что такое фрагментМенеджер и как я могу заставить этот код функционировать внутри фрагмента?

Ответы [ 3 ]

0 голосов
/ 10 мая 2019

Попробуйте это:

val autocompleteFragment : AutocompleteSupportFragment = activity!!supportFragmentManager.findFragmentById(R.id.autocomplete_fragment) as AutocompleteSupportFragment
0 голосов
/ 10 мая 2019

Попробуйте использовать childFragmentManager

val autocompleteFragment : AutocompleteSupportFragment = childFragmentManager.findFragmentById(R.id.autocomplete_fragment) as AutocompleteSupportFragment
0 голосов
/ 10 мая 2019

Не уверен, что вы работаете с вложенными фрагментами, но если это так, вы можете попробовать использовать childFragmentManager.

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