Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Estoy recibiendo un error "El método muestra (FragmentManager, String)"

Estoy recibiendo un error "El método show (FragmentManager, String) en el tipo DialogFragment no es aplicable para los argumentos (FragmentManager, String)" Por favor, alguien me ayude.

package com.example.test1; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; import android.support.v4.app.DialogFragment; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentActivity; public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void click(View view) { DialogFragment newFragment = new FireMissilesDialogFragment(); newFragment.show(getFragmentManager(), "missiles"); } public boolean onCreateOtionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_main, menu); return true; } } 

6 Solutions collect form web for “Estoy recibiendo un error "El método muestra (FragmentManager, String)"”

Como usas android.support.v4.app.DialogFragment , debes pasar a show() una instancia de android.support.v4.app.FragmentManager que se puede consultar usando una llamada de getSupportFragmentManager() . Espero que esto ayude.

El problema es porque necesita utilizar FragmentManager del paquete de soporte pero está utilizando el FragmentManager nativo cuando llama a getFragmentManager (). Intenta llamar a getSupportFragmentManager () al inicializar tu variable fm

También debe asegurarse de incluir DialogFragment desde el paquete de soporte y no desde el paquete nativo.

Usted puede hacer eso importando,

 import android.support.v4.app.DialogFragment; 

Incluso tuve el mismo problema al ejecutar el código en pan de jengibre. Pero funciona bien para ICS. La solucion es,

en lugar de esto:

 public class MainActivity extends Activity { } 

Uso extiende FragmentActivty

 public class MainActivity extends FragmentActivity { } 

Debe utilizar android.support.v4.app.FragmentManager lugar de android.app.FragmentManager .

Entonces debe llamar a getSupportFragmentManager() pero no a getFragmentManager()

Conseguí esto al abrir un DialogFragment aunque no estuviera usando android.support.v4.app.DialogFragment . Tuve que llamar a getActivity().getFragmentManager() , porque getSupportFragmentManager() no funcionó.

 public void onClick(View v) { switch (v.getId()) { case R.id.btnselectDate: DialogFragment newFragment = new DatePickerFragment(); newFragment.show(this.getFragmentManager(), "datePicker"); break; default: break; } } 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.