Ich habe eine Aktivität, die auf RecyclerView enthält. ein neues Element einzufügen, gibt es einen benutzerdefinierten Dialog, das verwendet auf zwei editText und einen Spinner enthält einige Informationen von Benutzern erforderlich zu bekommen und dann gibt diese Informationen zurück und zeigte sie in recyclerView sehen, das BildAndroid - RecyclerView - Artikel Positionen Problem
Dies ist der benutzerdefinierte Dialog, den ich verwendet habe, um neue Artikel einzufügen, Wenn Sie die Anzahl der einzelnen Artikel sehen, gibt es bis jetzt kein Problem.
, wenn die Soft-Input (Tastatur) angezeigt wird, dann gibt es etwas, was auf die Elemente passieren, die Positionen von einigen von ihnen geändert werden
die Positionen der zu sehen letzte Gegenstände!
es geändert wird
die Schaltfläche Abbrechen auf dem Dialog nichts tut,
dies ist die recycleView nach dem Dialog benutzerdefinierten entlassen
ich denke, das Problem tritt auf, weil das Recycling-Feature.
Adapter für recyclerView verwendet:
private class RecyclerAdapter extends RecyclerView.Adapter<RecyclerAdapter.ViewHolder>
{
private View courseView;
private TextView courseNo;
private TextView courseName ;
private TextView courseHours;
private TextView courseGrades;
protected class ViewHolder extends RecyclerView.ViewHolder{
public ViewHolder(View itemView) {
super(itemView);
courseView = itemView;
}
}
@Override
public RecyclerAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
courseView = LayoutInflater
.from(parent.getContext()).inflate(R.layout.view_course,parent,false);
courseNo = (TextView)courseView.findViewById(R.id.view_course_textView_no);
courseName = (TextView)courseView.findViewById(R.id.view_course_textView_name);
courseHours = (TextView)courseView.findViewById(R.id.view_course_textView_hours_value);
courseGrades = (TextView)courseView.findViewById(R.id.view_course_textView_grade_value);
ViewHolder holder = new ViewHolder(courseView);
return holder;
}
@Override
public void onBindViewHolder(RecyclerAdapter.ViewHolder holder, int position) {
final int coursePosition = position;
courseNo.setText(position+1+"");
courseName.setText(courses.get(position).getName());
courseHours.setText(courses.get(position).getHours()+"");
courseGrades.setText(courses.get(position).getGrade()+"");
courseView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
editDialog(coursePosition);
}
});
}
@Override
public int getItemCount() {
return courses.size();
}
}
wo Kurse ist Liste der Artikel
Können Sie hier Ihren Code für den Adapter posten? Ihr Problem ist wahrscheinlich in verbindlichen ViewHolder –
@VarvaraKalinina ok –