Montrer DialogFragment à partir d'un autre DialogFragment
Bonjour, j'ai un DialogFragment qui affiche la liste des options de l'utilisateur , l'une de ces options est l'option "Supprimer", lorsque l'utilisateur appuyez sur l'option supprimer, je veux vous montrer un autre DialogFragment comme une confirmation , malheureusement, la boîte de dialogue de confirmation n'est pas spectacle .
voici mon code
Premier Fragment de code
public class ContactDialogOption extends SherlockDialogFragment {
public static final String TAG = ContactDialogOption.class.getSimpleName();
public ContactDialogOption() {
super();
//TODO Auto-generated constructor stub
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setIcon(R.drawable.ic_launcher);
builder.setTitle(R.string.options);
builder.setItems(new String[] {
getString(R.string.call), getString(R.string.send_message),
getString(R.string.copy), getString(R.string.edit),
getString(R.string.delete)
}, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if(which == 4) //delete
{
FragmentManager mgr = getActivity().getSupportFragmentManager();
FragmentTransaction ft = mgr.beginTransaction();
Fragment old = mgr.findFragmentByTag("SecondFragment");
if (old != null) {
ft.remove(old);
}
ft.addToBackStack(null);
fragment.show(ft, fragmentTag);
}
}
});
return builder.create();
}
}
semble que je ne peux pas montrer un DialogFragment de la méthode onClick !!!
où avez-vous instancier le deuxième fragment que vous voulez montrer?
où avez-vous instancier le deuxième fragment que vous voulez montrer?
OriginalL'auteur user4o01 | 2013-05-14
Vous devez vous connecter pour publier un commentaire.
J'ai eu exactement le même problème, cette situation ne se produit pas lorsque vous essayez d'ouvrir un
DialogFragment
à partir d'unFragment
.La seule solution que j'ai trouvé a été de modifier l'appel suivant:
:
Le problème avec cette solution est que nous ne pouvons pas travailler sur le
FragmentTransition
.Je ne comprends pas pourquoi le comportement est différent de celui avec les fragments.
OriginalL'auteur Yoann Hercouet
Je suis tombé sur le même problème de ne pas être en mesure de montrer un autre DialogFragment de l'intérieur de la positif et négatif sur les auditeurs de la première DialogFragment. Ma solution a été immédiatement pop le premier fragment, ce qui permet à la deuxième DialogFragment à fixer et à l'écran avec succès.
//Call this before adding the second dialog fragment
activity.getSupportFragmentManager().popBackStackImmediate();
OriginalL'auteur Theo
Veuillez vérifier le code suivant. Espérons que cela aidera beaucoup d'entre vous!
C'est la méthode pour appeler le dialogue de fragment
N'hésitez pas à demander si vous vous sentez un problème, c'est que
OriginalL'auteur AMAN SINGH
C'est le code qui fonctionne pour moi:
Dans le premier gestionnaire de clic je viens de créer un nouveau dialogue et de la montrer. Cela permet de fermer la première boîte de dialogue, ouvrez la seconde, et lorsque l'utilisateur clique sur un élément dans la liste, la deuxième cliquez sur gestionnaire est appelé.
Espère que cette aide, et je ne suis pas trop en retard 🙂
OriginalL'auteur Cristian Chereches
Vous pouvez passer
FragmentManage
ànewInstance()
méthode de la PremièreDialogFragment
alors vous pouvez l'utiliser pour afficher les nouvellesdialogfragment
c'est mon code.
OriginalL'auteur HUNG TRAN DUY
Très récemment, j'ai eu ce problème et aucune des options ci-dessus a fonctionné pour moi. J'ai essayé d'utiliser la méthode ci-dessous:
Ce sera SEULEMENT travail si vous êtes en utilisant ce dans une activité (j'.e pour appeler une boîte de dialogue fragment d'une activité de classe).
J'ai corrigé cela de passer par mon activité instance à une AppCompat de l'activité et de l'utiliser pour appeler
getSupportFragment()
comme indiqué ci-dessous:J'espère que cela aide.. Joyeux codage!!
OriginalL'auteur Taslim Oseni