так что в основном у меня есть два разных CardView, которые я хочу переключать после их нажатия. Поэтому я создал свой ViewHolder в качестве держателя для этих двух классов суперкласса, который представляет собой MaterialCardView.в ViewHolder, когда я пытаюсь проверить, какую карту я получил, я использую instanceof.и позже я рассматриваю CardView как его оригинальный класс.Тем не менее, как только я это сделаю, Java-ошибки «Тип параметра T имеет несовместимые верхние границы: View and String».
Я пробовал решение об аннулировании кэша и рефакторинга, которые являются основным решением для веб-сайта,К сожалению, это похоже на проблему с Java.
вот мой VH (пока):
public class ProjectItemHolder extends RecyclerView.ViewHolder {
MaterialCardView projectItem;
public ProjectItemHolder(MaterialCardView projectItem) {
super(projectItem);
if (projectItem instanceof unselectedCard) {
((unselectedCard) projectItem).imageUrl = itemView.findViewById(R.id.thumbnail);
((unselectedCard)projectItem).projectName = itemView.findViewById(R.id.projectName);
((unselectedCard)projectItem).projectDescription = itemView.findViewById(R.id.projectDescription);
мой невыбранный класс Card:
public class unselectedCard extends MaterialCardView {
String projectName;
String projectDescription;
String imageUrl;
public unselectedCard(Context context,String projectName, String projectDescription, String imageUrl) {
super(context);
this.projectName = projectName;
this.projectDescription = projectDescription;
this.imageUrl = imageUrl;
}
public String getImageUrl() {
return imageUrl;
}
public String getProjectDescription() {
return projectDescription;
}
public String getProjectName() {
return projectName;
}
public void copyAnotherCard(unselectedCard card) {
this.projectName = card.getProjectName();
this.projectDescription = card.getProjectDescription();
this.imageUrl = card.getImageUrl();
}
и другие CardviewЯ пытаюсь согласовать:
public class selectedCard extends MaterialCardView {
private String projectName,projectDescription,managerName;
private String thumbnailUrl,imageUrl;
public selectedCard(@NonNull Context context, String projectName, String projectDescription, String managerName, String thumbnailUrl, String imageUrl) {
super(context);
this.projectName = projectName;
this.projectDescription = projectDescription;
this.managerName = managerName;
this.thumbnailUrl = thumbnailUrl;
this.imageUrl = imageUrl;
}
public String getProjectName() {
return projectName;
}
public String getProjectDescription() {
return projectDescription;
}
public String getImageUrl() {
return imageUrl;
}
public String getManagerName() {
return managerName;
}
public String getThumbnailUrl() {
return thumbnailUrl;
}
public void copyAnotherCard(selectedCard card) {
this.projectName = card.getProjectName();
this.projectDescription = card.getProjectDescription();
this.managerName = card.getManagerName();
this.thumbnailUrl = card.getThumbnailUrl();
this.imageUrl = card.getImageUrl();
}
Надеюсь, кто-нибудь подскажет мне, как исправить эту проблему.
Спасибо!