Saya memiliki FragmentActivity dan saya ingin menggunakan fragmen peta di dalamnya. Saya mengalami masalah dalam meminta pengelola fragmen dukungan untuk mengaksesnya.
if (googleMap == null) {
googleMap = ((SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map1)).getMap();
// check if map is created successfully or not
if (googleMap == null) {
Toast.makeText(getApplicationContext(),
"Sorry! unable to create maps", Toast.LENGTH_SHORT)
.show();
}
}
// create marker
MarkerOptions marker = new MarkerOptions().position(
new LatLng(latitude, longitude)).title("Hello Maps ");
CameraPosition cameraPosition = new CameraPosition.Builder()
.target(new LatLng(latitude, longitude)).zoom(15).build();
googleMap.animateCamera(CameraUpdateFactory
.newCameraPosition(cameraPosition));
// adding marker
googleMap.addMarker(marker);
android
android-fragments
android-support-library
android-fragmentactivity
fragmentmanager
DjP
sumber
sumber
Yang perlu Anda lakukan hanyalah menggunakan
metode pada fragmen Anda. Ini akan memberi Anda manajer fragmen dukungan, ketika Anda menggunakannya sambil menambahkan fragmen ini.
Dokumentasi fragmen
sumber
Cukup dapatkan seperti ini -
ATAU
dalam metode onActivityCreated () Fragment Anda dan metode apa pun yang dipanggil setelah onActivityCreated ().
sumber
Pengguna Kotlin mencoba jawaban ini
sumber
jika Anda memiliki masalah ini dan berada di tingkat 21+ api lakukan ini:
ini akan mendapatkan peta saat digunakan di dalam sebuah fragmen.
sumber
Anda dapat menggunakan
getActivity().getSupportFragmentManager()
kapan saja Anda ingin mendapatkanSupportFragmentManager.hierarki adalah Aktivitas -> fragmen. fragmen tidak mampu memanggil getSupportFragmentManger secara langsung tetapi Activity dapat. Dengan demikian, Anda dapat menggunakan getActivity untuk memanggil aktivitas saat ini di mana fragmen berada dan masuk
getSupportFragmentManager()
sumber
Aktivitas Orangtua saya memperluas AppCompatActivity jadi saya harus memberikan konteks saya ke AppCompatActivity alih-alih hanya Activity.
misalnya.
sumber
((AppCompatActivity) mContext)
bagian itu PERSIS apa yang saya cari. Terima kasih!lakukan ini dalam fragmen Anda
sumber
getActivity().getFragmentManager()
Ini berhasil atau saya.Lihat juga di sini.
sumber
sumber
di java kamu bisa ganti dengan
di kotlin, buat sederhana dengan
semoga membantu :)
sumber
Kode berikut berguna untuk saya
sumber
Anda dapat menggunakan childFragmentManager di dalam Fragmen.
sumber
Anda cukup mengakses like
dan kemudian gunakan
sumber
Beberapa kode Kotlin untuk menggunakan supportFragmentManager di dalam Fragmen.
sumber
getSupportFragmentManager()
digunakan ketika Anda berada dalam aktivitas dan ingin mendapatkan fragmen tetapi dalam fragmen Anda dapat mengaksesdengan menggunakan metode lain yang disebut
getFragmentMangaer()
berfungsi samagetSupportFragmentManager()
dan Anda dapat menggunakannya seperti dulu:sumber
Cara baru yang sederhana untuk melakukannya di kotlin
sumber
Coba ini:
sumber