私のの位置を私のrecyclerview
に入れる必要があります。基本的に、ユーザーがボタンをクリックすると、編集テキストフィールドが空白の場合、ユーザーは続行できません。私はまた、各編集テキストをクラスのセッターで設定しています。これは、すべての編集テキストの下線を削除して基本的に編集不可能にするためのものです。すべての視聴者を取得するrecyclerview
これは、ユーザーがそのボタンをクリックしたときにこれは私のonbindviewholder
@Override
public void onBindViewHolder(final RecyclerView.ViewHolder holder, int position){
/*
Holder for exercise row
Sets the text for exercise, weight, sets, and reps
Disables text if save button is clicked
*/
if(holder instanceof ExerciseRowHolder) {
int pos = holder.getAdapterPosition();
Log.d("pos", String.format("%s", pos));
((ExerciseModel) rowTypeList.get(pos)).setExerciseEditText(((ExerciseRowHolder) holder).exercise);
((ExerciseModel) rowTypeList.get(pos)).setWeightEditText(((ExerciseRowHolder) holder).weight);
((ExerciseModel) rowTypeList.get(pos)).setSetsEditText(((ExerciseRowHolder) holder).set);
((ExerciseModel) rowTypeList.get(pos)).setRepsEditText(((ExerciseRowHolder) holder).rep);
((ExerciseModel) rowTypeList.get(pos)).setDragHandle(((ExerciseRowHolder) holder).dragHandle);
((ExerciseModel) rowTypeList.get(pos)).setExerciseRowTextWatcher(((ExerciseRowHolder) holder).exerciseRowTextWatcher);
((ExerciseRowHolder) holder).updatePosition(pos);
です。この問題は、viewholders
の編集テキストがonbindviewholder
に設定されているため、編集テキストがviewholders
のヌルを返すことになります。これは、画面上の編集テキストのみが設定されていることを意味します。私はすべての編集テキストを設定する必要があります。 recyclerview
のviewholders
を取得するためのアドバイスはありますか?
int childCount = displayWorkoutAdapter.getItemCount() - 1;
//checks for all the children of recyclerView excluding the buttons
for (int a = childCount; a > 0; a--) {
RowType rowType = displayWorkoutAdapter.rowTypeList.get(a);
//if the first row = exercise row, check to see if there is any input in the exercise, sets, and reps field
//if not, display error
if (rowType.getClass() == ExerciseModel.class) {
AutoCompleteTextView exercise = ((ExerciseModel) rowType).getExerciseEditText();
EditText weight = ((ExerciseModel) rowType).getWeightEditText();
EditText sets = ((ExerciseModel) rowType).getSetsEditText();
EditText reps = ((ExerciseModel) rowType).getRepsEditText();
/*
if(exercise == null){
exercise = exerciseRow.findViewById(R.id.autoCompleteTextView);
weight = exerciseRow.findViewById(R.id.weight);
sets = exerciseRow.findViewById(R.id.sets);
reps = exerciseRow.findViewById(R.id.reps);
}*/
textListenerToRemoveError(exercise, weight, sets, reps);
私はすでにRecyclerViewを実装しているので、RecyclerViewを使用することをお勧めします。私が持っている唯一の問題は、すべての編集テキストを編集不可能にすることです。私はonbindviewholderにフラグを設定できることを知っています。ボタンをクリックするたびに、編集テキストを無効にします。しかし、私はすべての編集テキストが満たされていることを確認する方法が不明です –