Bonjour a toute la communauté.

Ayant suivi pas mal de tutoriel je rencontre un problème sur la récupération de données entre mon activité et mes fragments. je récupère une partie des données mais impossible d avoir les données qui viennent d un calcul. je m explique.

voici le code de mon activité que j a nommé LancementFragment:

Code Java : 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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
 
 
package com.loleas.explosionthermic;
 
import android.content.Intent;
import android.os.Bundle;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.TextView;
 
/**
 * Created by yesyes on 28/10/2017.
 */
 
 
public class LancementFragment   extends AppCompatActivity  {
 
 
 
 
    Button calcul;
 
    ImageButton retour, carte;
    TextView titre, titrecalcul1, titrecalcul2, titrecalcul3, titrecalcul4,
            titrecalcul5, titrecalcul6, titrecalcul7, titrecalcul8;
    EditText massetotalProduits, distancecuve;
    double totalflux, flux11, flux8, flux5, flux3, flux1;
    String affichagemasse, distancereservoir, resultproduits, masseProd,masseProd2,
            denliquide, produitmasse, produitmassevol, produitsdensitéair,
            produitsdensitéliquide, produitspvs, produitstnt, produitspci,
            resultproduits2,Flux1, Flux3, Flux5, Flux8, Flux11;
    double boulefeu, Calculfinalproduits, MasseProd;
 
 
 
    public static final int CODE_GO_TO_HOME =  0;
   public static int resultatclic;
 
 
 
 
 
 
    private SectionsPagerAdapter mSectionsPagerAdapter;
 
 
    private ViewPager mViewPager;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
 
 
 
 
        Bundle extras = getIntent().getExtras();
        resultproduits = extras.getString("produitsInter");// recup nom du produit
        denliquide = extras.getString("densiteliqInter"); //densite du produit
        masseProd = extras.getString("masseInter");// recup des données produit
        MasseProd = Double.parseDouble(masseProd);// conversion de string en nombre
 
 
 
 
 
        TextView titre =(TextView)findViewById ( R.id.titre ); // gestion affichage
        titre.setText ( String.valueOf ( resultproduits +" BLEVE ")); // affichage nom du produit
 
        retour = (ImageButton)findViewById ( R.id.imageButtonRetourBleve ); //gestion du bouton
        retour.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
 
                Intent retourIntent = new Intent(LancementFragment.this, Intervention.class);
                setResult(CODE_GO_TO_HOME);
                finish();
            }
        });
 
            Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
 
 
 
 
        mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());
 
 
        mViewPager = (ViewPager) findViewById(R.id.container);
        mViewPager.setAdapter(mSectionsPagerAdapter);
 
        TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs);
        tabLayout.setupWithViewPager(mViewPager);
 
 
 
 
    }
 
 
 
 
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
 
        getMenuInflater().inflate(R.menu.menu_main, menu);
 
        return true;
 
    }
 
 
 
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
 
        int id = item.getItemId();
 
 
        if (id == R.id.action_settings) {
            return true;
        }
 
        return super.onOptionsItemSelected(item);
    }
 
 
 
    public static class PlaceholderFragment extends Fragment {
 
        private static final String ARG_SECTION_NUMBER = "section_number";
 
        public PlaceholderFragment() {
        }
 
 
        public static PlaceholderFragment newInstance(int sectionNumber) {
            PlaceholderFragment fragment = new PlaceholderFragment();
            Bundle args = new Bundle();
            args.putInt(ARG_SECTION_NUMBER, sectionNumber);
            fragment.setArguments(args);
            return fragment;
        }
 
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                                 Bundle savedInstanceState) {
            View rootView = inflater.inflate(R.layout.fragment_main, container, false);
 
 
 
 
 
                return rootView;
        }
 
    }
 
 
    public class SectionsPagerAdapter extends FragmentPagerAdapter {
 
 
 
 
        private String fragments []= {"Calcul","Carte"};
 
        public SectionsPagerAdapter(FragmentManager fm) {
            super(fm);
        }
 
        @Override
        public Fragment getItem(int position) {
 
 
 
                switch (position) {
 
                    case 0:
                        return new Tab1BL ();
 
 
                    case 1:
                        return new Tab2 ();
                    default:
                        return null;
 
                }
            }
 
 
 
        @Override
        public int getCount() {
 
            return fragments.length;
        }
 
        @Override
        public CharSequence getPageTitle(int position) {
 
            return fragments[position];
        }
    }
 
 
    }

cette partie Fonctionne bien et dans le premier Fragment TAb1BL j ai bien less données:

voici le code du Fragment Tab1:


Code Java : 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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
 
 
package com.loleas.explosionthermic;
 
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
 
/**
 * Created by yesyes on 28/10/2017.
 */
 
public class Tab1BL extends Fragment implements Tab2.OnHeadlineSelectedListener{
 
 
    Button calcul;
 
 
    TextView  titrecalcul1, titrecalcul2, titrecalcul3, titrecalcul4,
            titrecalcul5, titrecalcul6, titrecalcul7, titrecalcul8;
    EditText massetotalProduits, distancecuve;
    double totalflux, flux11, flux8, flux5, flux3, flux1;
    String affichagemasse, distancereservoir, resultproduits, masseProd,
            denliquide, produitmasse, produitmassevol, produitsdensitéair,
            produitsdensitéliquide, produitspvs, produitstnt, produitspci,
            resultproduits2;
    double boulefeu, Calculfinalproduits, MasseProd;
    String Flux1, Flux3, Flux5, Flux8, Flux11;
    public static int resultatclic;
 
 
 
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View Tab1View= inflater.inflate ( R.layout.tab1_bl,container,false );
 
        titrecalcul1 = (TextView) Tab1View.findViewById(R.id.calcul1bleve);
        titrecalcul2 = (TextView) Tab1View.findViewById(R.id.calcul2bleve);
        titrecalcul3 = (TextView) Tab1View.findViewById(R.id.calcul3bleve);
        titrecalcul4 = (TextView) Tab1View.findViewById(R.id.calcul4bleve);
        titrecalcul5 = (TextView) Tab1View.findViewById(R.id.calcul5bleve);
        titrecalcul6 = (TextView) Tab1View.findViewById(R.id.calcul6bleve);
        titrecalcul7 = (TextView) Tab1View.findViewById(R.id.boule);
        titrecalcul8 = (TextView) Tab1View.findViewById(R.id.temps_boule);
 
        calcul = (Button) Tab1View.findViewById ( R.id.boutoncalculbleve );
        calcul.setOnClickListener ( BoutoncalculListener );
 
 
        massetotalProduits=(EditText)Tab1View.findViewById ( R.id.SaisieMasseReservoir );
        distancecuve=(EditText)Tab1View.findViewById ( R.id.saisiedistancereservoir );
 
 
        return Tab1View;
 
 
     }
 
    public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);
        titrecalcul6 = (TextView) view.findViewById(R.id.calcul6bleve);
 
        ----------------------- Problème ici -------------------------------
 
        Bundle bundle = new Bundle ();
        String Produits = bundle.getString ("resulproduits" );
        titrecalcul6.setText ( String.valueOf (  Produits ));
 
        }
 
 
    private  View.OnClickListener  BoutoncalculListener = new View.OnClickListener () {
        @Override
        public void onClick(View view) {
 
            affichagemasse = massetotalProduits.getText().toString();// recup
            // données
            // masse
            // dans
            // reservoir
            distancereservoir = distancecuve.getText().toString();// recup
            // donnée
            // distance
            // reservoir
 
            if (affichagemasse.compareTo("") == 0
                    || distancereservoir.compareTo("") == 0) {
                Toast.makeText(getActivity ()," Veuillez entrer les valeurs" ,Toast.LENGTH_SHORT).show();
 
       /*        Toast toast = new Toast;
                toast.setGravity( Gravity.CENTER, 0, 0);
                toast.setDuration(Toast.LENGTH_SHORT);
                toast.setView(customToast);
                toast.show();    */
 
            }
 
            else {
                double saisiedistance = Double.parseDouble(distancereservoir);// conversion
                // de
                // string
                // en
                // nombre
                // pour
                // la
                // distance
                double saisiemasse = Double.parseDouble(affichagemasse);// conversion
                // de
                // string
                // en
                // nombre
                // pour
                // la
                // masse
                float masse = (float) saisiemasse;
                // calcul boule de feu 6,48*(B7)^0,325
                float boulefeuinter = (float) Math.pow(masse, 0.325);
                float boulefinal = (float) (boulefeuinter * 6.48);
                titrecalcul7.setText(String.valueOf(boulefinal));
 
                // durée de la combustion
 
                float temps = (float) (masse * 0.852);
                float tempscombustion = (float) Math.pow(temps, 0.26);
                titrecalcul8.setText(String.valueOf(tempscombustion));
 
                // Calcul flux thermique reçu
 
                double fluxreçu1 = (boulefinal / 2) / saisiedistance;
                double fluxreçu2 = Math.pow(fluxreçu1, 2);
                double fluxreçu3 = (fluxreçu2 * 200);
                float fluxreçu3f = (float) fluxreçu3;
                titrecalcul6.setText(String.valueOf(fluxreçu3f));
 
                // distance pour flux thermique reçu =11kw
                flux11 = (boulefinal / 2) * Math.sqrt(200 / 11);
                float flux11f = (float) flux11;
                titrecalcul1.setText(String.valueOf(flux11f));
 
                // distance pour flux thermique reçu =8kw
                flux8 = (boulefinal / 2) * Math.sqrt(200 / 8);
                float flux8f = (float) flux8;
                titrecalcul2.setText(String.valueOf(flux8f));
 
                // distance pour flux thermique reçu =5kw
                flux5 = (boulefinal / 2) * Math.sqrt(200 / 5);
                float flux5f = (float) flux5;
                titrecalcul3.setText(String.valueOf(flux5f));
 
                // distance pour flux thermique reçu =3kw
                flux3 = (boulefinal / 2) * Math.sqrt(200 / 3);
                float flux3f = (float) flux3;
                titrecalcul4.setText(String.valueOf(flux3f));
 
                // distance pour flux thermique reçu =1,5kw
                flux1 = (boulefinal / 2) * Math.sqrt(200 / 1.5);
                float flux1f = (float) flux1;
 
                titrecalcul5.setText(String.valueOf(flux1f));
 
 
 
                Flux1 = Double.toString( flux1);
                Flux3 = Double.toString(flux3);
                Flux5 = Double.toString(flux5);
                Flux8 = Double.toString(flux8);
                Flux11 = Double.toString(flux11);
 
        ----------------------- Problème ici -------------------------------
 
                    Tab2 fragment = new Tab2 ();
                    Bundle args = new Bundle();
                    args.putString(Flux1, "Flux1");
                    fragment.setArguments(args);
                    return ;
 
 
 
 
 
 
 
 
            }
 
 
 
 
        }
    };
 
 
 
}

en vert on vois les données que je récupère de l'activité dans le Fragment TAB1 donc OK.
en rouge le code qui pose problème ou j indique la donnée a envoyer au Fragment Tab2 avec le Bndle Arg. j ai pas d érreur et quand je teste l applicaion dans le fragment Tab2 j ai rien .

Voici le Code du Fragment Tab2

Code Java : 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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
 
package com.loleas.explosionthermic;
 
import android.Manifest;
import android.app.AlertDialog;
import android.content.pm.PackageManager;
import android.graphics.Color;
import android.location.Location;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.ActivityCompat;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageButton;
import android.widget.TextView;
import android.widget.Toast;
 
import com.google.android.gms.common.ConnectionResult;
import com.google.android.gms.common.GooglePlayServicesUtil;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.MapView;
import com.google.android.gms.maps.MapsInitializer;
import com.google.android.gms.maps.OnMapReadyCallback;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.Circle;
import com.google.android.gms.maps.model.CircleOptions;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;
import com.loleas.explosionthermic.index.table.to.Book;
 
import java.util.Vector;
 
/**
 * Created by yesyes on 28/10/2017.
 */
 
public class Tab2 extends Fragment implements OnMapReadyCallback, GoogleMap.OnMapLongClickListener {
 
 
    GoogleMap mMap;
    MapView mMapView;
    View mView;
 
    boolean markerClicked;
    final int RQS_GooglePlayServices = 1;
 
 
 
    /*   debut variable */
    Location myLocation;
    TextView tvLocInfo, titre, bleve1, bleve2, bleve3, bleve4, bleve5, Dbleve1,
            Dbleve2, Dbleve3, Dbleve4, Dbleve5,textecercle1,textecercle2,textecercle3,
            textecercle4,textecercle5;
    ImageButton retourB, position, retourU, retourN, retourT;
 
    String Distance1, Distance2, Distance3, Distance4, Distance5, cercle1,
            cercle2,cercle3,cercle4,cercle5,nomproduits, masseproduits, massevolproduits, pciproduits,
            densitéairproduits, densitéliqproduits, pvsproduits, tntproduits,
            result;
 
    Double D1, D2, D3, D4, D5,D1f,D2f,D3f,D4f,D5f;
 
 
    public Vector<Book> items;
    public static final int CODE_GO_TO_HOME = 1;
 
 
 
 
    /* variable fin */
 
    public Tab2() {
 
    }
 
 
    @Override
    public void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate ( savedInstanceState );
    }
 
 
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View Tab2View = inflater.inflate ( R.layout.tab2, container, false );
        textecercle1 = (TextView)Tab2View.findViewById ( R.id.textecercle1 );
 
 
 
 
        return Tab2View;
    }
 
 
    public void onViewCreated(View view, Bundle savedInstanceState) {
        super.onViewCreated ( view, savedInstanceState );
        SupportMapFragment mapFragment = (SupportMapFragment) getChildFragmentManager ().findFragmentById(R.id.map);
        mapFragment.getMapAsync(this);
 
 
 
 
 
 
 
 
 
 
 
    }
 
    public void onMapReady(GoogleMap googleMap) {
 
 
        MapsInitializer.initialize ( getContext () );
        mMap = googleMap;
        if (ActivityCompat.checkSelfPermission ( getActivity (), Manifest.permission.ACCESS_FINE_LOCATION ) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission
                ( getActivity (), Manifest.permission.ACCESS_COARSE_LOCATION ) != PackageManager.PERMISSION_GRANTED) {
            // TODO: Consider calling
            //    ActivityCompat#requestPermissions
            // here to request the missing permissions, and then overriding
            //   public void onRequestPermissionsResult(int requestCode, String[] permissions,
            //                                          int[] grantResults)
            // to handle the case where the user grants the permission. See the documentation
            // for ActivityCompat#requestPermissions for more details.
            return;
        }
        mMap.setMyLocationEnabled ( true );
        mMap.setMapType ( GoogleMap.MAP_TYPE_HYBRID );
        mMap.setOnMapLongClickListener ( this );
 
 
 
 
 
 
 
 
        markerClicked = false;
 
 
        textecercle1.setText ( String.valueOf ( Distance2 ) );
        ----------------------- Problème ici -------------------------------
        // recuperation des données issue du Fragment Tab1
        Bundle bundle = new Bundle ();
        Distance2 = bundle.getString("Flux1");
 
 
 
 
    }
 
 
 
 
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case R.id.satellite:
                String LicenseInfo = GooglePlayServicesUtil
                        .getOpenSourceSoftwareLicenseInfo(getActivity ());
                AlertDialog.Builder LicenseDialog = new AlertDialog.Builder(Tab2.this.getActivity ());
                LicenseDialog.setTitle("Legal Notices");
                LicenseDialog.setMessage(LicenseInfo);
                LicenseDialog.show();
                return true;
        }
        return super.onOptionsItemSelected(item);
    }
 
 
    public void onResume() {
 
        super.onResume();
 
        int resultCode = GooglePlayServicesUtil
                .isGooglePlayServicesAvailable(getActivity ());
 
        if (resultCode == ConnectionResult.SUCCESS) {
            Toast.makeText(getActivity (),
                    "isGooglePlayServicesAvailable SUCCESS", Toast.LENGTH_LONG)
                    .show();
        } else {
            GooglePlayServicesUtil.getErrorDialog(resultCode, this.getActivity (),
                    RQS_GooglePlayServices);
        }
 
    }
 
 
    public void onMapLongClick(LatLng point) {
       mMap.addMarker(new MarkerOptions().position(point).draggable(true));
                CircleOptions circleOptions1 = new CircleOptions();
        circleOptions1.strokeColor(Color.argb(255, 0, 255, 0));//
        circleOptions1.fillColor(Color.argb(50, 0, 255, 0));// green
        circleOptions1.center(point);
        circleOptions1.radius(D1);
        circleOptions1.strokeWidth(3); // epaisseur trait cercle
        Circle circle1 = mMap.addCircle(circleOptions1);
        textecercle5.setText(cercle1);
 
 
 
 
    }
 
    public interface OnHeadlineSelectedListener {
 
 
    }
}

ici en rouge le recupération de la donnée de tab1 dans Tab2 mais je recupere rien....

Donc si vous avez des idées
merci de votre Aide.

Cordialement Eric