android - studio - No se puede resolver el método ''getSupportFragmentManager()'' dentro de Fragment
navegar entre fragments android studio (12)
Encontré el mensaje No se puede resolver el método ''getSupportFragmentManager ()'' Quiero fragmentarme como actividad. porque quiero usar Maps en las pestañas deslizar.
public class PETAcikarangsukatani extends Fragment {
Context context;
private static final LatLng SUKATANI = new LatLng(-6.171327, 107.178108);
private static final LatLng WRPOJOK = new LatLng(-6.222411, 107.162158);
private static final LatLng PILAR = new LatLng(-6.257033, 107.156472);
private static final LatLng CIKARANG = new LatLng(-6.256073, 107.143984);
GoogleMap googleMap;
final String TAG = "PathGoogleMapActivity";
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.activity_path_google_map, container, false);
context = rootView.getContext();
SupportMapFragment fm = (SupportMapFragment)getSupportFragmentManager()
.findFragmentById(R.id.map);
googleMap = fm.getMap();
getFragmentManager ()
solo prueba esto. funcionó para mi caso
Deberías usar
getActivity.getSupportFragmentManager() like
//in my fragment
SupportMapFragment fm = (SupportMapFragment)
getActivity().getSupportFragmentManager().findFragmentById(R.id.map);
También tengo este problema, pero resuelto después de agregar getActivity()
antes de getSupportFragmentManager
.
Dentro de una subclase de Fragment
, debe usar getFragmentManager
en lugar de getSupportFragmentManager
. Obtendrá el soporte uno si la importación proviene de la biblioteca de soporte.
Extiende FragmentActivity en lugar de Activity
Lo intenté todo arriba, pero ninguno funciona
Finalmente probé esto por mi cuenta
getBaseActivity().getFragmentManager()
y está trabajando ... :)
Para mi caso, me aseguré de que la clase Fragment se importara de
android.support.v4.app.Fragment
No de
android.app.Fragment
Entonces he usado
getActivity (). getSupportFragmentManager ();
Y ahora está funcionando. Si utilizo la instancia de actividad que obtuve enAttach () tampoco funciona.
Según la documentación, getSupportFragmentManager () está presente solo dentro de la clase AppCompatActivity. No está presente dentro de la clase de actividad. Por lo tanto, asegúrese de que su clase amplíe la clase AppCompatActivity.
public class MainActivity extends AppCompatActivity {
}
Si obtiene "No se puede resolver el método getSupportFragmentManager ()", intente utilizar
this.getSupportFragmentManager()
Funciona para mí cuando se trata de DialogFragments en Android
También puede usar AppCompatActivity
lugar de Activity.
Entonces getSupportFragmentManager()
funcionará.
Y tampoco olvides hacer que el tema de tu aplicación extienda el tema de AppCompat en este caso
Use getActivity().getSupportFragmentManager()
getSupportFragmentManager()
no es parte de Fragment
, por lo que no puede obtenerlo aquí de esa manera. Puedes obtenerlo de la Activity
padre (por lo tanto, en onAttach()
lo más temprano) usando normal
activity.getSupportFragmentManager();
o puedes probar getChildFragmentManager() , que está en el alcance de Fragment, pero requiere API17 +
Reemplace getSupportFragmentManager () con getFragmentManager () si está trabajando en api 21. O si su aplicación es compatible con versiones de Android anteriores a 3.0, asegúrese de haber configurado su proyecto Android con la biblioteca de soporte como se describe en Configuración de un proyecto para Use una biblioteca y use getSupportFragmentManager () esta vez.