Java onBindViewHolder方法有什么问题
我在我的Java onBindViewHolder方法有什么问题,java,android,sharedpreferences,Java,Android,Sharedpreferences,我在我的卡适配器中使用onBindViewHolder。它包括一个onClick方法checkedTextView。我正在尝试获取这些文本并将其放入Arraylist(sharedP)。但是ArrayList只返回最后一个元素。我的错在哪里 public void onBindViewHolder(@NonNull final CardTasarimTutucu holder,int位置){ SharedReferences sp=mContext.getSharedReferences(“选中
卡适配器中使用onBindViewHolder
。它包括一个onClick
方法checkedTextView
。我正在尝试获取这些文本并将其放入Arraylist(sharedP)
。但是ArrayList
只返回最后一个元素。我的错在哪里
public void onBindViewHolder(@NonNull final CardTasarimTutucu holder,int位置){
SharedReferences sp=mContext.getSharedReferences(“选中”,Context.MODE\u PRIVATE);
e=sp.edit();
sharedP=newarraylist();
word=words.get(position.getMean();
Log.e(“getMean”,单词);
id=words.get(position.getId();
str=新的StringBuffer(“”);
holder.rowText.setText(word);
holder.rowText.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
if(holder.rowText.isChecked()){
sharedP.remove(sharedP.indexOf(word));
flag=false;
holder.rowText.setCheckMarkDrawable(空);
holder.rowText.setChecked(false);
}否则{
sharedP.add(word);
flag=true;
Log.e(“deneme”,word);
holder.rowText.setCheckMarkDrawable(R.drawable.ic\u check\u black\u 24dp);
holder.rowText.setChecked(true);
}
str.delete(0,str.length());
for(int i=0;i首先onBindViewHolder
调用RecyclerView
中的每个项目,以显示视图项目中每个位置的数据。因此它就像一个循环。在代码中,您初始化onBindViewHolder
中的sharedP
数组;
。因此,对于您传递/滚动的每个项目,数组将再次初始化,上一个项目将丢失。换句话说,当您到达列表末尾时,列表中只有一个项目,即最后一个项目。那么,是否有其他方法获取所有项目?