Llamar a DialogFragment del fragmento

Estoy tratando de llamar a un DialogFragment de mi clase Fragment. Tengo un ImageView, y quisiera llamar mi clase de DialogFragment en el onClickListener del ImageView que he fijado.

Estoy recibiendo un error en el onClick con el código que he configurado tratando de llamar a DialogFragment.

Estoy recibiendo un error en "show" declarando "El método show (FragmentManager, String) en el tipo DialogFragment no es aplicable para los argumentos (FragmentManager, String)" y un error en "new Instance" declarando "El método newInstance () Es indefinido para el tipo MyDialogFragment "

Aquí está mi código:

@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { final View v = inflater.inflate(R.layout.image_detail_fragment, container, false); mImageView = (RecyclingImageView) v.findViewById(R.id.imageView); mImageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { //Here MyDialogFragment dialog = MyDialogFragment.newInstance(); dialog.show(getFragmentManager(), "fragmentDialog"); } }); return v; } 

Clase DialogFragment:

 import android.app.AlertDialog; import android.app.Dialog; import android.app.DialogFragment; import android.content.Context; import android.content.DialogInterface; import android.os.Bundle; class MyDialogFragment extends DialogFragment { Context mContext; public MyDialogFragment() { mContext = getActivity(); } @Override public Dialog onCreateDialog(Bundle savedInstanceState) { AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(mContext); alertDialogBuilder.setTitle("Set Wallpaper?"); alertDialogBuilder.setMessage("Are you sure?"); //null should be your on click listener alertDialogBuilder.setPositiveButton("OK", null); alertDialogBuilder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }); return alertDialogBuilder.create(); } public static MyDialogFragment newInstance() { MyDialogFragment = new MyDialogFragment; return f; } } 

No tiene un método estático con el nombre newInstance . Agregue lo siguiente en su fragmento de diálogo

 public static MyDialogFragment newInstance() { MyDialogFragment f = new MyDialogFragment(); return f; } 

Puede encontrar más información y un ejemplo en los documentos

http://developer.android.com/reference/android/app/DialogFragment.html

Y también puede llamar a MyDialogFragment sin método newInstance como

 DialogFragment newFragment = new MyDialogFragment(this); newFragment.show(getFragmentManager(), "date_picker"); 
  • Cómo hacer DialogFragment modal?
  • DialogFragment Cerrar Evento
  • CoordinatorLayout con CollapsingToolbarLayout rompe con el teclado en el fragmento de diálogo
  • DialogFragment con AppCompatDialog se bloquea si se establece STYLE_NO_TITLE
  • Diálogo personalizado con setMultiChoiceItems
  • DialogFragment superpone por barra de estado
  • DialogFragment con fondo claro (no atenuado)
  • Disposición de esquina redonda de Android en el cuadro de diálogo
  • DialogFragment animación de diseño y "Intentar destruir la ventana mientras dibuja!" Error
  • El fragmento de cuadro de diálogo personalizado se bloquea cuando se llama al método Setter
  • Android - después del cambio de orrientación cambia el fragmento objetivo en el fragmento de diálogo
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.