When I scroll down and then back to the top, my items were changed for other items in the list, and if I scroll again, the items again are changed.
The edit text value disappears and spinner value changes automatically.
This is my MyRecyclerViewAdapter
class.
class MyRecyclerViewAdapter extends
RecyclerView.Adapter<MyRecyclerViewAdapter.CustomViewHolder> {
private List<UpdateAtt> feedItemList;
private Context mContext;
private String[] mColorNames = new String[]{"Absent", "Half Day", "Leave", "Present", "Suspend"};
public MyRecyclerViewAdapter(Context context, List<UpdateAtt> feedItemList) {
this.feedItemList = feedItemList;
this.mContext = context;
}
@Override
public CustomViewHolder onCreateViewHolder(ViewGroup parent, final int i) {
//View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.list_attendance, null);
View mView = LayoutInflater.from(parent.getContext()).inflate(R.layout.list_attendance, parent, false);
CustomViewHolder viewHolder = new CustomViewHolder(mView);
return viewHolder;
}
class CustomViewHolder extends RecyclerView.ViewHolder {
private final TextView tvName;
private final TextView tvSid;
private final EditText etRemark;
private final Spinner tvSpinner;
public CustomViewHolder(View view) {
super(view);
this.tvName = (TextView) view.findViewById(R.id.tv_Name);
this.tvSid = (TextView) view.findViewById(R.id.tv_sid);
this.etRemark = (EditText) view.findViewById(R.id.et_remarks);
this.tvSpinner = (Spinner) view.findViewById(R.id.spinner1);
ArrayAdapter<String> startColorsAdapter = new ArrayAdapter<String>(mContext, R.layout.simple_list_item, mColorNames);
tvSpinner.setAdapter(startColorsAdapter);
}
}
@Override
public void onBindViewHolder(final CustomViewHolder customViewHolder, final int position) {
customViewHolder.tvName.setText(Html.fromHtml(feedItemList.get(position).getSName()));
customViewHolder.tvSid.setText(Html.fromHtml(feedItemList.get(position).getSid()));
customViewHolder.etRemark.setText(Html.fromHtml(feedItemList.get(position).getRemark()));
//Setting text view title
}
@Override
public int getItemCount() {
return (null != feedItemList ? feedItemList.size() : 0);
}
}