0
Dans le code écrit ci-dessous à chaque fois que mon panier est lancé et lorsque le compilateur atteint la ligne HashMap<String, String> cart = session2.getUserDetails();
, il charge par défaut les valeurs par défaut des éléments au lieu de charger les valeurs NULL Les valeurs chargées sont les valeurs données dans course précédente. Quelqu'un peut-il me demander où je me trompe dans mon code?Android SharedPreference Values charger automatiquement
public class Cart extends AppCompatActivity {
ListView lvCartItems;
Button bClear;
Button bShop;
TextView tvTotalPrice;
// Session Manager Class
ProductSessionManager session2;
ArrayList<CartItem> cartItems = new ArrayList<CartItem>();
Context context = Cart.this;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_cart);
textHome = (TextView) findViewById(R.id.text_home);
textSchedules = (TextView) findViewById(R.id.text_account);
textMusic = (TextView) findViewById(R.id.text_cart);
tvTotalPrice=(TextView)findViewById(R.id.tvTotalPrice);
lvCartItems = (ListView) findViewById(R.id.lvCartItems);
LayoutInflater layoutInflater = getLayoutInflater();
// Session class instance
session2 = new ProductSessionManager(this);
// get user data from session
HashMap<String, String> cart = session2.getUserDetails();
// item
String item1 = cart.get(ProductSessionManager.KEY_item1);
//quantity
String quantity1 = cart.get(ProductSessionManager.KEY_quantity1);
//rate
String rate1 = cart.get(ProductSessionManager.KEY_rate1);
Veuillez effacer vos valeurs de préférence partagées lorsque vous n'en avez plus besoin! –
'Utiliser HashMap cart = null;' Au lieu de cela 'HashMap cart = session2.getUserDetails();'! –
tahsinRupam
c'est tout l'intérêt d'utiliser Sharedpreferences pour maintenir la session. Il conservera les valeurs précédentes jusqu'à ce que vous les mettiez à jour ou les effaciez. Si vous ne voulez pas que les valeurs précédentes effacent votre préférence partagée. – sumit