0

First ScreenComment passer un fragment à un autre fragment dans un menu à onglets?

Après que l'utilisateur remplir les espaces vides de cet écran est apparu:

Second Screen

Ceci est une boîte de dialogue d'alerte. Il est le code ici:

AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); 
    builder.setTitle("Congratulations!"); 
    builder.setMessage("You finished Level 1. Do you want to start Level 2?"); 
    builder.setNegativeButton("Not now", new DialogInterface.OnClickListener(){ 
     public void onClick(DialogInterface dialog, int id) { 

     } 
    }); 
    builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int id) { 

     } 
    }); 

    builder.show(); 

Je veux passer « niveau 2 » onglet lorsque l'utilisateur clique bouton « OUI ».

C'est ce que j'ai essayé dans onClick:

FragmentManager fm = getChildFragmentManager(); 
fm.beginTransaction().replace(R.layout.activity_level2, new Level2()).commit(); 

-je obtenir cette erreur:

java.lang.IllegalArgumentException: No view found for id 0x7f04001f (translatingthecaps.translatethecaps:layout/activity_level2) for fragment Level2{60d2f9f #0 id=0x7f04001f} 

J'ai juste que ce code au niveau 2 Fragment:

public class Level2 extends Fragment { 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     View view=inflater.inflate(R.layout.activity_level2, container, false); 

     return view; 
    } 
} 

Avant boîte de dialogue d'alerte a montré que je peux voir l'onglet "Niveau 2".

Third Screen

+0

Ne remplacez pas du fragment. Rappel à l'activité pour changer de position de tabulation. –

Répondre

2

Lorsque vous utilisez un téléavertisseur, vous ne devez pas appeler explicitement un FragmentTransaction, tout ce que vous avez à faire est

pager.setCurrentItem(2); 

Depuis votre téléavertisseur n'est pas accessible depuis votre fragment vous devrait utiliser un écouteur pour définir un rappel à l'activité, voici comment l'utiliser How to implement OnFragmentInteractionListener

+0

Je ne suis pas bon en codage. Les réponses à cette question ont été difficiles pour moi. J'ai essayé de l'implémenter mais je n'ai pas d'activité de fragment qui s'est ouverte comme un fragment vide. Quand j'ai essayé setCurrentItem, je reçois ceci: "E/ViewRootImpl: sendUserActionEvent() mView == null" –

+0

Pouvez-vous nous montrer le de l'activité et le fragment1? –