Bonjour,
J'ai actuellement un ViewPager avec 3 fragments.
Lorsque je suis sur le fragment du milieu, je peux check 1 radiobutton parmis 3. Je stocke la valeur du check dans un sharedpreferences puis selon cette valeur je veux update un textview et un imageview sur le fragment de droite.
Pour l'instant j'arrive à effectuer l'update uniquement sur un onClick(situé dans le fragment de droite) ou par un swipe mais je dois repasser par le fragment de gauche pour que l'update se fasse.
J'aimerai savoir comment faire pour que l'update se fasse sur le swipe ou sur le check du radiobutton.
Fragment activity :
Fragment du milieu :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56 public class Commander extends FragmentActivity { ViewPager Tab; TabPagerAdapter TabAdapter; ActionBar actionBar; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.etapescommande); TabAdapter = new TabPagerAdapter(getSupportFragmentManager()); Tab = (ViewPager)findViewById(R.id.pager); Tab.setOnPageChangeListener( new ViewPager.SimpleOnPageChangeListener() { @Override public void onPageSelected(int position) { actionBar = getActionBar(); actionBar.setSelectedNavigationItem(position); } }); Tab.setAdapter(TabAdapter); actionBar = getActionBar(); //Enable Tabs on Action Bar actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); ActionBar.TabListener tabListener = new ActionBar.TabListener(){ @Override public void onTabReselected(android.app.ActionBar.Tab tab, FragmentTransaction ft) { // TODO Auto-generated method stub } @Override public void onTabSelected(ActionBar.Tab tab, FragmentTransaction ft) { Tab.setCurrentItem(tab.getPosition()); } @Override public void onTabUnselected(android.app.ActionBar.Tab tab, FragmentTransaction ft) { // TODO Auto-generated method stub }}; //Add New Tab actionBar.addTab(actionBar.newTab().setText("Ma commande").setTabListener(tabListener)); actionBar.addTab(actionBar.newTab().setText("Paiement").setTabListener(tabListener)); actionBar.addTab(actionBar.newTab().setText("Validation").setTabListener(tabListener)); } }
Fragment de droite :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 public class Paiement extends Fragment { private RadioGroup radioPaiement; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View paiement = inflater.inflate(R.layout.paiement, container, false); return paiement; } @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); View v= getView(); radioPaiement = (RadioGroup) v.findViewById(R.id.radioPaiement); radioPaiement.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { RadioButton checkedRadioButton = (RadioButton)radioPaiement.findViewById(checkedId); int checkedIndex = radioPaiement.indexOfChild(checkedRadioButton); SharedPreferences app_preferencesP = PreferenceManager.getDefaultSharedPreferences(getActivity()); SharedPreferences.Editor editorP = app_preferencesP.edit(); String paiement = String.valueOf(checkedIndex); Log.i("Valeur radiobutton Paiement",paiement); editorP.putString("SavePaiement", paiement); editorP.commit(); } }); } }
Merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66 public class ValidationCommande extends Fragment { Button ValidationCommande; TextView ModeDePaiement; ImageView ImagePaiement; String Paiement,mail; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View validationcommande = inflater.inflate(R.layout.validationcommande, container, false); return validationcommande; } @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); View v= getView(); ModeDePaiement = (TextView)v.findViewById(R.id.RecapPaiement); ImagePaiement = (ImageView)v.findViewById(R.id.RecapPaiementImage); ValidationCommande = (Button)v.findViewById(R.id.ButtonValidationCommande); ValidationCommande.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { AlertDialog.Builder builder2 = new AlertDialog.Builder(getActivity()); builder2.setTitle("Confirmation"); builder2.setMessage("Valider la commande ?"); builder2.setNegativeButton("Non", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface arg0, int arg1) { // TODO Auto-generated method stub SharedPreferences app_preferences2 = PreferenceManager.getDefaultSharedPreferences(getActivity()); mail = app_preferences2.getString("key", "null"); Paiement = app_preferences2.getString("SavePaiement", "null"); Log.i("SavePaiement",Paiement); if(Paiement.equals("null")) { ModeDePaiement.setText(null); ImagePaiement.setImageResource(0); } else if(Paiement.equals("0")) { ModeDePaiement.setText("Carte bancaire"); ImagePaiement.setImageResource(R.drawable.modedepaiement); } else if(Paiement.equals("1")) { ModeDePaiement.setText("Compte Paypal"); ImagePaiement.setImageResource(R.drawable.paypal); } else if(Paiement.equals("2")){ ModeDePaiement.setText("Chèque"); ImagePaiement.setImageResource(R.drawable.cheque); } ............................ } }); }
Partager