J'ai 2 activités A et B. A navigation et passe des extras à B et en utilisant l'intention x. Comment puis-je m'assurer que je ne récupérez pas des extras de l'intention y mais que l'intention x dans l'activité b. p> activité a. PRE> P>
i.e (a -> b) strong>
B contient un fragment (BFRAGEMENT) qui transmet des données à B à l'aide d'une interface.
J'utilise une intention y pour obtenir de (bfragment) à B.
i.e ((bfragment) -> b) strong>
B récupère des extras de l'intention x.
Sur la forme de la forme BFRAGEMENT, B tente de récupérer des extras de l'intention y censée être extraite de l'intention x. Intent y = new Intent(getContext(),B.class);
startActivity(y)
3 Réponses :
Vous devriez simplement vérifier l'intention d'avoir mentionné un supplément ou non comme ci-dessous:
if(getIntent().hasExtra("CMAKE")){ String cmake=getIntent().getStringExtra("CMAKE"); }
Vous pouvez ajouter une action pour différencier les différentes intentions p>
pour l'intention x p> blockQuote>
xxx pré> pour l'intention y p> blockQuote>
xxx pré> Comment différencier? h2>
xxx pré> h1>
Activité A.
Intent y = new Intent(getContext(),B.class); y.putExtra("CMAKE", mdata); startActivity(y)
Il suffit d'utiliser un identifiant de chaîne personnalisé de votre choix, puis utilisez la condition de commutateur pour déterminer