Stellen Sie sich eine CardView mit einer Schaltfläche und einem Textfeld vor. Wenn ich auf eine Schaltfläche drücke, sollte sich der Text im Textfeld ändern. Code für meine recyclerView ist unten angegeben, wo ich den Text und einen Hörer für eine Taste am Einstellung:Ändern von Text in TextView in CardView von selbst
@Override
public void onBindViewHolder(CategoriesDetailedViewHolder holder, int position) {
final CategoryDetailedModel model = categoriesDetailedModels.get(position);
holder.description.setText(model.getQuestion());
holder.btnPlus.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
holder.description.setText("some text");
}
});
}
Das Hauptproblem ist mit dem String:
holder.description.setText("some text");
Es ist nicht von einem inneren zugegriffen werden kann Klasse. Hat jemand eine Idee, wie man Text in der Kartenansicht von selbst ändert.
aktualisieren 1
public class CategoriesDetailedViewHolder extends RecyclerView.ViewHolder{
CardView cv;
TextView description;
TextView positiveCounter;
TextView negativeCounter;
TextView btnPlus;
View negativeCounterWrapper;
View positiveCounterWrapper;
CategoriesDetailedViewHolder(View itemView) {
super(itemView);
cv = (CardView)itemView.findViewById(R.id.cv);
description = (TextView)itemView.findViewById(R.id.main_text);
positiveCounter = (TextView)itemView.findViewById(R.id.tv_positive_count_in_circle);
negativeCounter = (TextView)itemView.findViewById(R.id.tv_negative_count_in_circle);
btnPlus = (TextView)itemView.findViewById(R.id.plus_button);
positiveCounterWrapper = itemView.findViewById(R.id.positive_count_wrapper);
negativeCounterWrapper = itemView.findViewById(R.id.negative_count_wrapper);
cv.setPreventCornerOverlap(false);
}
}
@Override
public CategoriesDetailedViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.categories_detailed_list_row_view, parent, false);
CategoriesDetailedViewHolder pvh = new CategoriesDetailedViewHolder(v);
context = parent.getContext();
return pvh;
}
Wie können Sie nicht den Namen ändern, wenn die onBind gibt es für Sie Daten aus der Sicht zu manipulieren mit dem Adapter? –
@ AntónioPaulo biete mir wie kann ich Adapter von selbst aktualisieren, weil ich nicht weiß .. – neustart47
Bitte fügen Sie den Code für Ihren ViewHolder. Danke – Ahmed