想象一个带有按钮和文本字段的 CardView。当我按下按钮时,文本字段中的文本应该会发生变化。下面给出了我的 recyclerView 的代码,我在其中设置文本和按钮的监听器:
@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");
}
});
}
主要问题在于字符串:
holder.description.setText("some text");
它不能从内部类访问。 有谁知道如何从自身更改卡片 View 中的文本。
更新 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;
}
最佳答案
代替,
TextView description;
成功了,
public TextView description;
编辑: 更改以下内容,
@Override
public void onBindViewHolder(CategoriesDetailedViewHolder holder, int position) { ... }
到,
@Override
public void onBindViewHolder( final CategoriesDetailedViewHolder holder, int position) { .... }
关于android - 从自身更改 CardView 内的 TextView 中的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36723728/