Я знаю, что возникла проблема с использованием вложенного фрагмента. Но мое приложение было разработано для работы на фрагментах, и если я буду использовать активность для карты, мои функции кастинга будут иметь ошибку.
Я хотел бы попросить у вас помощи о том, как этого добиться. Я искал в Интернете, но не нашел лучшего решения.
Я пробовал этот код:
private void setUpMapIfNeeded() {
// Do a null check to confirm that we have not already instantiated the map.
if (mMap == null) {
// Try to obtain the map from the SupportMapFragment.
mMap = ((SupportMapFragment) myFragmentActivity.getSupportFragmentManager().findFragmentById(R.id.map_con))
.getMap();
// Check if we were successful in obtaining the map.
if (mMap != null) {
mMap.setMyLocationEnabled(true);
}
}
}
это даст мне повторяющуюся ошибку из-за R.id.map_con - фрагмент внутри моего фрагмента.
Итак, я ищу работу, на этот раз R.id.map_con - это макет кадра, и во время выполнения я создал для него SupportMapFragment.
SupportMapFragment mSupportMapFragment = new SupportMapFragment();
myFragmentActivity.getSupportFragmentManager().beginTransaction()
.replace(R.id.map_con, mSupportMapFragment).commit();
хотя это не дает мне дубликат при каждом закрытии и открытии фрагмента. но моя ошибка в том, что mSupportMapFragment.getMap всегда имеет значение null. Я не понимаю, почему его null?
mMap = mSupportMapFragment.newInstance().getMap();
if (mMap != null){
Log.e("ReportFragment","mMap is not empty");
}else{
Log.e("ReportFragment","mMap is empty");
}
Я был бы очень признателен за любые материалы от вас, ребята, или у вас есть другая работа, но все еще в этом процессе, т.е. фрагмент внутри фрагмента
Спасибо
chkm8