私はRecyclerViewに含まれるアクティビティを1つ持っています。 新しい項目を挿入するために、カスタム2 EDITTEXTに含まれているダイアログとユーザから必要ないくつかの情報を取得するために使用されるものスピナーがあり、その後、戻ってこの情報を返し、recyclerView でそれを表示するには、Android - RecyclerView - アイテムポジションの問題
画像を見ますこれは新しいアイテムを挿入するために使用したカスタムダイアログウィジットです。 各アイテムの番号が表示されていれば、今まで問題はありません。
ソフト入力(キーボード)が表示されたときに、その後、
はの位置を参照してください
いくつかのことは、それらのいくつかの位置が変更され、項目に起こるがあります最後のアイテム!それは、ダイアログ上のボタンをキャンセルを変更し
は何もしない、
これは後に、私が考えるカスタムダイアログ
を却下recycleViewですリサイクル機能のために問題が発生しています。 recyclerViewに使用
アダプタ:
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();
}
}
どこコースはアイテム
アダプターのコードはここに投稿できますか?あなたの問題はおそらくバインドされているViewHolder –
@ VarvaraKalinina ok –