Framework:
Через onClicklistener в Recyclerview я добавляю Предметы в Arraylist.В конце дня я использую следующие три строки, чтобы выполнить это:
int typeImage = mContext.getResources().getIdentifier("introcreeps", "drawable", mContext.getPackageName());
mDecklist.add(new Decklist(mData.get(position).getCardImage(),typeImage, "22", mData.get(position).getCardName(), "x1");
mRViewAdapterList.setCards(mDecklist);
Проблема:
С помощью другого OnclickListener я хочу редактировать элементыmDecklist
.Я думаю, это должно быть возможно с
positionToEdit = mDecklist.indexOf(mData.get(position).getCardName());
mDecklist.set(positionToEdit, new Decklist(mData.get(position).getCardImage(),typeImage, "22", mData.get(position).getCardName(), "x2" ));
Я знаю, что positionToEdit = mDecklist.indexOf(mData.get(position).getCardName());
, очевидно, неправильно.Какой тип объекта мне нужно передать, чтобы найти правильную позицию?
Что не сработало, а:
CardNames будет отличаться в моем Arraylist, поэтомуЯ хотел бы найти позицию с помощью этого.Я также пытался использовать что-то для всего ArraylistObject, но это не сработало для меня, например:
positionToEdit = mDecklist.indexOf(Decklist(mData.get(position).getCardImage(),typeImage, "22", mData.get(position).getCardName(), "x1"));
Дополнительная информация:
Ниже приведен код моего Arraylist(Decklist): пакет com.example.chris.projectartifact.b_deckbuilderTap;
публичный класс Decklist {
private int CardImage;
private int TypeImage;
private String Cost;
private String Name;
private String Number;
public Decklist(int cardImage, int typeImage, String cost, String name, String number) {
/* Why is there no this. ? */
CardImage = cardImage;
TypeImage = typeImage;
Cost = cost;
Name = name;
Number = number;
}
public Decklist(String cost, String name, String number) {
Cost = cost;
Name = name;
Number = number;
}
public int getCardImage() {
return CardImage;
}
public void setCardImage(int cardImage) {
CardImage = cardImage;
}
public int getTypeImage() {
return TypeImage;
}
public void setTypeImage(int typeImage) {
TypeImage = typeImage;
}
public String getCost() {
return Cost;
}
public void setCost(String cost) {
Cost = cost;
}
public String getName() {
return Name;
}
public void setName(String name) {
Name = name;
}
public String getNumber() {
return Number;
}
public void setNumber(String number) {
Number = number;
}
}
Дополнительная информация на основе почтовых вопросов: Чтобы дать вам представление о том, что я хочу сделать, я опубликую скриншот моих обзоров Recycler, использующих mData и mDecklist:
Позвольте мне объяснить, используяцвета:
- оранжевый Recyclerview использует mData для раздувания Recyclerview.На основе обведенной кружком кнопки green в orange Recyclerview мы присваиваем значения mData новому Arraylist с именем mDecklist.
- mDecklist используется в зеленом Recyclerview для создания новогоЗначения, следовательно, мы можем добавлять элементы из первого Recyclerview (оранжевого) в secound Recyclerview (зеленого цвета)
- Но это становится немного сложнее!Когда мы используем Spinners в Yellow , Orange Recyclerview равен , получая совершенно новый файл mData из базы данных. Это означает, что позиции (в основном) перезаписаны.
- Следовательно, get (position) недостаточно! #
- Каждый mDecklistбудет использовать то же имя, что и карта в mData (например, CardName - это Bloodseeker, который также будет использоваться в mDecklist).Поэтому я надеялся, что можно было бы найти положение Объекта в mDecklist, используя Имя в качестве ссылки для поиска.
Любая помощь очень приветствуется!:)