2017-10-16 7 views
0

Désolé pour l'anglais brisé.Transmettez les données de l'activité pour afficher le fragment du pager

J'ai créé la disposition des onglets en utilisant la rétrofit, et il n'y a aucun problème avec le nom ou le titre des onglets. Mais quand j'ai essayé de transmettre l'identifiant de données au fragment, il y a un problème.

Mon activité:

 public void onResponse(Response<CategoryResponse> response, Retrofit retrofit) { 
      mProgressDialog.hide(); 
      FragmentKonten deskripsi; 
      if(response.body().getStatus().equals("ok")) 
      { 
       CategoryResponse produkListResponse = response.body(); 
       for (Category category : produkListResponse.getListProduk()) 
       { 
        bundle.putInt("category",category.getId()); 

        deskripsi=new FragmentKonten(); 
        deskripsi.setArguments(bundle); 

        adapter.addFragment(deskripsi,category.getTitle()); 
        adapter.notifyDataSetChanged(); 
       } 
      } 
      else{ 
       pesan(getActivity()); 
      } 
     } 

Dans mon fragment:

bundle = this.getArguments(); 

    Toast.makeText(getActivity(),String.valueOf(bundle.getInt("category")),Toast.LENGTH_LONG).show(); 

les résultats que je veux sont:

Catégorie Titre et ID:

Diet Sehat = 3 

Khas Indonesia = 4 

Resep Kue = 7 

Resep Macanegara = 9 

etc 

Mais les résultats réels sont:

Diet Sehat = 9 

Khas Indonesia = 9 

Resep Kue = 9 

Resep Macanegara = 9 

etc 
+0

Avez-vous essayé de déboguer votre réponse API pour vérifier si vous obtenez les bonnes données? –

+0

@ZayidMohammed oui c'est. il n'y a aucun problème avec l'API –

+0

Qu'est-ce que vous faites exactement à l'intérieur de la pour chaque boucle? –

Répondre

0

Avez-vous essayé:

for (Category category : produkListResponse.getListProduk()) 
       { 
        Bundle bundle = new Bundle(); //I guess you're missing this 
        bundle.putInt("category",category.getId()); 

        deskripsi=new FragmentKonten(); 
        deskripsi.setArguments(bundle); 

        adapter.addFragment(deskripsi,category.getTitle()); 
        adapter.notifyDataSetChanged(); 
       } 
+0

ou vous l'avez globalement, donc c'est toujours assis à la dernière valeur (9), définissez-le dans la boucle –