0
私のページをスクロールすると、一部のビューが新しい場所に表示されますが、アダプターのすべてのコンテンツが表示されるわけではなく、一部の種類のみ表示されます。RecyclerViewを停止する方法
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import java.util.List;
public class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerViewAdapter.MyViewHolder> {
private List<BabyFigure> rinfoList ;
public class MyViewHolder extends RecyclerView.ViewHolder {
public TextView id,date,time,type,quantity,demo;
public MyViewHolder(View view) {
super(view);
id = (TextView) view.findViewById(R.id.recycle_view_id);
date = (TextView) view.findViewById(R.id.recycle_view_date);
time = (TextView) view.findViewById(R.id.recycle_view_time);
type = (TextView) view.findViewById(R.id.recycle_view_type);
quantity = (TextView) view.findViewById(R.id.recycle_view_quantity);
demo = (TextView) view.findViewById(R.id.recycle_view_demo);
}
}
public RecyclerViewAdapter(List<BabyFigure> infoList) {
this.rinfoList = infoList;
setHasStableIds(true);
}
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View itemView = LayoutInflater.from(parent.getContext()).inflate(R.layout.list_content,
parent,false);
return new MyViewHolder(itemView);
}
@Override
public int getItemCount() {
Log.d(getClass().getSimpleName(),String.valueOf(rinfoList.size()));
return rinfoList.size();
}
@Override
public long getItemId(int position) {
return super.getItemId(position);
}
@Override
public void onBindViewHolder(MyViewHolder holder,int position) {
BabyFigure babyFigure = rinfoList.get(position);
holder.quantity.setText(String.valueOf(babyFigure.getQuantity()));
holder.id.setText(String.valueOf(babyFigure.getId()));
holder.demo.setText(babyFigure.getDemo());
holder.date.setText(babyFigure.getDate());
holder.time.setText(babyFigure.getTime());
holder.type.setText(babyFigure.getType());
}
}
はあなたがgetItemId()
を実装していませんでした
実際、getItemIdメソッドをオーバーライドしましたが、代わりに「return super.getItemID(position)」を使用します。とにかく、私はあなたの助言に従って、それは動作します、ありがとうございます –
それは私のために働いていない...あなたgetItem IDを設定するのを助けてくれますか?私はArrayList
@JadavLalit理想的には、オブジェクトを表すために 'Object'よりも意味のある具体的なものを使用するべきです。 IDは、特定のアイテムを一意に識別する論理的な値です。あなたの特定のユースケースを意味するものは、あなたが決定し実装することです。 – Karakuri