0

Je veux passer ma valeur de chaîne et d'image à mon autre fragment.Comment passer la valeur String et Image à mon autre fragment?

Voici ma valeur (Ces valeurs est appelée de mon Fragment Accueil)

private GridView grid; 

    String[] nama_barang_rek = { 
"Batu Bata", 
"Semen Holcim", 
"Cat Avitex", 
"Toilet Duduk TOTO"}; 

    int[] gambar_barang_rek = { 
R.drawable.batu_bata, 
R.drawable.semen_holcim, 
R.drawable.cat_avitex, 
R.drawable.closet_duduk_toto}; 

Et ce un code pour mon GridView, et je veux passer ceux de la valeur à mon CheckOutActivity

grid = (GridView) rootview.findViewById(R.id.gv_rekomendasi); 
     grid.setAdapter(new CustomGrid(getActivity(), nama_barang_rek, gambar_barang_rek)); 
     grid.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
      @Override 
      public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
       Toast.makeText(getActivity(), nama_barang_rek[position], Toast.LENGTH_SHORT).show(); 
      } 
     }); 

J'espère que les gars pourraient m'aider à résoudre mon problème.

+0

vous pouvez utiliser ensemble pour transmettre les données entre les fragments. ex - http://stackoverflow.com/a/7149906/3912847 –

Répondre

1

si vous passez la valeur de l'activité à l'utilisation du fragment code suivant avant que le message de Toast intérieur onItemclick

FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); 
    YourFragment mFragment = new YourFragment(); 
    Bundle bundle = new Bundle(); 
    bundle.putString("strValue", nama_barang_rek[position]); 
    bundle.putInt("intValue",gambar_barang_rek[position]); 
    mFragment.setArguments(bundle); 
    ft.replace(R.id.content_frame, mFragment); 

où R.id.content_frame est le framelayout dans le fichier xml si vous passez la valeur d'une activité à utiliser le code suivant avant que le message de pain grillé à l'intérieur onItemclick

Intent i=new Intent(firstActivity.this,secondActivity.class); 
i.putString("strValue", nama_barang_rek[position]); 
    i.putInt("intValue",gambar_barang_rek[position]); 
startActivity(i); 
1

côté envoi

Fragment frag = new Fragment(); 
Bundle data = new Bundle(); 
data.putSting("key_name", value); 
data.putInt("key_name", value); 
frag.setArguments(data); 
getSupportFragmentManager().beginTransaction() 
.replace(R.id.holder, frag).Commit(); 

côté réception

onCreateView() { 
    Bundle data = getArguments(): 
    If (data != null){ 
     // read here 
    } 
} 
+0

donc nous utilisons onCreateView() sur Activity? Est-ce juste pour le fragment? –

+0

OnCreateView est une méthode de cycle de vie de fragment. C'est n/a pour l'activité – albeee