Entrez la description de l'image ici
Je veux récupérer les données de l'activité précédente (à l'aide de getintent) dans une classe .java et les mêmes données à une activité suivante à travers l'intention. Quelqu'un peut-il m'aider comment.Merci à l'avance.
public class AddToCartHelper { public static void addToCart(Context context, Intent intent) { String TAG = "AddToCart"; DecimalFormat decimalFormat; boolean loginflagforuser = false, loginflagforguest = false; String advId = "", num = "", uid = "", productName = "", emailCart = "",cartMessage = ""; Double price = 0.0; Integer quantity = 1; SharedPreferences preferences = context.getSharedPreferences("SECRETFILE", Context.MODE_PRIVATE); loginflagforuser = preferences.getBoolean(Parameters.userEmail, false); loginflagforguest = preferences.getBoolean(Parameters.guestEmail, false); decimalFormat = new DecimalFormat("##.##"); if (loginflagforuser){ Intent fromCart = getIntent(); // imageId = fromCart.getStringExtra("image_url"); advId = fromCart.getStringExtra("Advid"); price = fromCart.getDoubleExtra("price", 0.0); num = fromCart.getStringExtra("num"); uid = fromCart.getStringExtra("uid"); Log.d(TAG, "--- REGISTERD UID::::::::: " + uid); quantity = fromCart.getIntExtra("quantity", 1); productName = fromCart.getStringExtra("cart_product_name"); // total = fromCart.getDoubleExtra("total", 0.0); emailCart = preferences.getString("email", null); }else if (loginflagforguest){ }else{ } } }
3 Réponses :
Il existe deux façons de transmettre les données à l'activité suivante que vous pouvez utiliser l'intention ou peut utiliser le récepteur de diffusion local
si vous souhaitez récupérer des données de l'activité précédente, utilisez P>
String a= getIntent().getStringExtra( "");// pass the name that you used in the previous activity
Cela a été posté comme une réponse, mais cela ne tente pas de répondre à la question. Il devrait éventuellement être un édition, un commentaire, une autre question ou supprimé complètement.
Je veux chercher des données à une classe de non-activité. Activité -> .java classe. -> activité. Les données qui passent et la récupération doivent être effectuées par une classe Java normale.
Vous avez déjà transmettre le paramètre Intention code> à la fonction addtOcart, donc au lieu de
AVID = geDcart.getstringextra ("AVID"); code>, vous pouvez utiliser
advid = Intention.Getstringextra ("AVID"); CODE> P>
Comment transmettre des données de la même classe Java à une autre activité.
Vous n'avez pas besoin d'utiliser cette intention de Cart = getintent () ;, Utilisez déjà l'intention d'intention
dvId = intent.getStringExtra("Advid"); price = intent.getDoubleExtra("price", 0.0); num = intent.getStringExtra("num"); uid = intent.getStringExtra("uid"); Log.d(TAG, "--- REGISTERD UID::::::::: " + uid); quantity = intent.getIntExtra("quantity", 1); productName = intent.getStringExtra("cart_product_name"); // total = intent.getDoubleExtra("total", 0.0);
Vous pouvez donc déjà obtenir des données de l'activité précédente?
Non je suis incapable d'obtenir des données. quand j'essaie getintent (). Il lance une erreur.
Quelle est l'erreur?
@Gganesh pouvez-vous montrer cette erreur?
envoyé la capture d'écran. Vérifiez s'il vous plaît
getintent () ne peut pas être appelé la classe de nonactivité. Capturez d'abord l'intention de votre classe d'activité et envoyez-la à votre classe de nonactivité.
Vous déclarez déjà l'intention
Intention code> comme paramètres de vos méthodes AddTtOcart, mais basée sur votre code que vous n'avez pas utilisé même. Une fois que vous fournissez l'intention correcte sur votre méthode, vous pouvez simplement appeler directement
advid = intent.getstringextra ("AVID"); code> sans appeler getintent ().