Problem ze zmiana kolejnej karty

0

Witam,
Mam pewien problem otóż, chodzi o edycję nazwy karty,problem następuje gdy dodam kolejna kartę chce zmienić nazwę tej karty zmienia się ale zmienia się automatycznie nazwa pierwszej karty nie wiem w czym problem.

Override
    public void onBindViewHolder(CardViewHolder holder, final int position) {
        final Card card = cardsList.get(position);
        holder.nameCard.setText(card.getNameCard());
        holder.setCurrentDateText.setText(card.getCreateDate());
        holder.setExpirationDateText.setText(card.getExpirationDate());
        holder.menu.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                PopupMenu popupMenu = new PopupMenu(mContext, v);
                popupMenu.inflate(R.menu.cardmenu);
                popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {

                    Typeface custom_fonts = Typeface.createFromAsset(mContext.getAssets(), "fonts/OpenSans-Regular.ttf");
                    Typeface custom_fonts_Bold = Typeface.createFromAsset(mContext.getAssets(), "fonts/OpenSans-Bold.ttf");


                    @Override
                    public boolean onMenuItemClick(MenuItem item) {
                        switch (item.getItemId()) {

                            //edycja nazwy karty
                            case R.id.editCard:

                                AlertDialog.Builder alert = new AlertDialog.Builder(mContext);
                                LayoutInflater inflater = LayoutInflater.from(mContext);
                                View alterView = inflater.inflate(R.layout.editcarddialog, null);
                                alert.setView(alterView);

                                TextView editTextView = (TextView) alterView.findViewById(R.id.editCardText);
                                editTextView.setTypeface(custom_fonts);

                                try {
                                    nameCardEditTextDecrypt = AesCrypt.decrypt(key, card.getNameCard());
                                } catch (GeneralSecurityException e) {
                                    e.printStackTrace();
                                }

                                nameCardEditText = (EditText) alterView.findViewById(R.id.nameCardEditText);
                                nameCardEditText.setTypeface(custom_fonts);
                                nameCardEditText.setText(nameCardEditTextDecrypt);

                                alert.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
                                    @Override
                                    public void onClick(DialogInterface dialog, int which) {
                                        dialog.dismiss();
                                    }
                                }).setPositiveButton(R.string.save, new DialogInterface.OnClickListener() {
                                    @Override
                                    public void onClick(DialogInterface dialog, int which) {
                                        String newNameCardString = nameCardEditText.getText().toString();

                                        try {
                                            nameCardEditTextEncrypt = AesCrypt.encrypt(key, newNameCardString);
                                        } catch (GeneralSecurityException e) {
                                            e.printStackTrace();
                                        }

                                        int indexOf = cardsList.get(position).setNameCard(nameCardEditTextEncrypt);
                                        cardsList.set(indexOf, card);
                                        databaseHandler.updateCard(card);
                                        notifyItemChanged(position);
                                    }
                                });
                                alert.create();
                                alert.show();
                                break;

                        return false;
                    }
                });
                popupMenu.show();
            }
        });
    }
0

Jeżeli zmienia się nazwa innej karty, to zapewne zmieniasz nazwę innej karty...

Sprawdź debuggerem czy modyfikujesz prawidłową.

0

Teraz debugowałam , zmienia sie karta pierwsza

1 użytkowników online, w tym zalogowanych: 0, gości: 1