Comment utiliser putExtra() et getExtra() pour les données de chaîne
Quelqu'un peut-il me dire comment exactement à l'utilisation de getExtra()
et putExtra()
pour les intentions? En fait, j'ai une variable de type chaîne, dire str, qui stocke certaines données de chaîne. Maintenant, je veux envoyer ces données à partir d'une activité à une autre activité.
Intent i = new Intent(FirstScreen.this, SecondScreen.class);
String keyIdentifer = null;
i.putExtra(strName, keyIdentifer );
et puis dans le SecondScreen.java
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.table);
TextView userName = (TextView)findViewById(R.id.userName);
Bundle bundle = getIntent().getExtras();
if(bundle.getString("strName")!= null)
{
//TODO here get the string stored in the string variable and do
//setText() on userName
}
}
Je sais que c'est très basique question mais malheureusement je suis coincé ici.
S'il vous plaît aider.
Merci,
Edit: Ici, la chaîne qui je suis en train de passer d'un écran à l'autre est dynamique.
C'est que j'ai un editText où je suis chaîne quels que soient les types d'utilisateurs. Puis avec l'aide de myEditText.getText().toString()
. J'obtiens la valeur entrée comme une chaîne de caractères puis-je transmettre ces données.
- j'.putExtra(strName, keyIdentifer ); Cette déclaration a strName variable tout en bundle.getString("strName") a "strName" de la Chaîne. Son intention.putExtra(clé, valeur) et de l'intention.getExtras().getString(clé); assurez-vous que vous utilisez la même clé dans put et get.
Vous devez vous connecter pour publier un commentaire.
L'utiliser pour "mettre" le fichier...
Ensuite, pour récupérer la valeur d'essayer quelque chose comme:
this.getActivity().getIntent().getExtras()
.première Screen.java
Deuxième Screen.java
Meilleure Méthode...
SendingActivity
RecievingActivity
///voie la plus courte pour recevoir des données..
//Ce exige api 12.
//le deuxième paramètre est facultatif . Si keyName est null alors utiliser le
defaultkey
comme des données.C'est ce que j'ai été en utilisant, hopfully il aide à quelqu'un.. simple et efficace.
envoyer des données
obtenir les données
cheers!
Il est très facile à mettre en œuvre
intent
dans Android.. qu'Il vous faut pour passer d'une activité à une autre activité,nous avons deux méthodeputExtra();
etgetExtra();
Maintenant je vous montre l'exemple..Maintenant, nous devons obtenir la valeur de
AnyKeyName
paramètre,mentionnés ci-dessous aidera dans l'accomplissement de ceNous pouvons facilement régler la réception de la valeur de
Intent
,partout où cela est nécessaire.Un petit addendum: vous n'avez pas à créer votre propre nom pour la clé, android fournit ces, f.ex.
Intention.EXTRA_TEXT
. La modification de la accepté de répondre:ApplicationActivity
Plus simple
côté de l'expéditeur
côté du récepteur
Mise à jour dans L'intention classe.
hasExtra()
pour vérifier si l'intention a données sur la clé.getStringExtra()
directement.Transmettre Des Données
Obtenir Les Données
Toujours mettre les clés dans les constantes comme la meilleure pratique.
PutExtraConstants
une interface?PutExtraConstants
classe ne contient que des constantes (public
,static
,final
). Il est donc préférable d'utiliser l'interface pour les Constantes.fonction de la placer
Push De Données
Le code ci-dessus peut-être à l'intérieur de la principale
activity
. "MyActivity.class
" est le deuxièmeActivity
nous voulons lancer; il doit être explicitement inclus dans votreAndroidManifest.xml
fichier.Extraire Des Données
Dans cet exemple, le code ci-dessus serait à l'intérieur de votre
MyActivity.java
fichier.Pièges
Cette méthode ne peut passer
strings
. Donc, disons que vous avez besoin pour passer unArrayList
à votreListActivity
; une solution possible est de passer par une virgule-chaîne et de la diviser ensuite sur l'autre côté.Solutions Alternatives
Utilisation
SharedPreferences
Simple,
Dans la première Activité-
Dans la deuxième Activité-
Mettre la Chaîne dans l'Intention de l'Objet
NextAcitvity dans la méthode onCreate obtenir de la Chaîne
qui est facile et court méthode
mettre la chaîne
récupérer après que
c'est Tout 😉
envoyer
obtenir