Я пришел сюда сегодня, потому что, когда я нажимаю кнопку, я не получаю правильную позицию данных в представлении рециркулятора;
...
FirebaseRecyclerAdapter<usertasks,PrivateTasksViewHolder>
TasksRecyclerViewAdapter = new FirebaseRecyclerAdapter<usertasks,
PrivateTasksViewHolder>(options){
@NonNull
@Override
public PrivateTasksViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
return new PrivateTasksViewHolder(LayoutInflater.from(viewGroup.getContext())
.inflate(R.layout.list_view, viewGroup, false));
}
@Override
protected void onBindViewHolder(@NonNull final PrivateTasksViewHolder holder, final int position, @NonNull final usertasks model) {
final String list_task_id = getRef(position).getKey();
mTasksDatabase.push().child(list_task_id).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
holder.setTaskName(model.getTaskname());
holder.setTaskLocal(model.getTasklocal());
holder.setTaskDate(model.getTaskdate());
ImageView thrash_delete = mMainView.findViewById(R.id.thrash_delete);
thrash_delete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Map deletePrivateTask = new HashMap();
deletePrivateTask.put("PrivateTasks/" + mCurrent_user_id + "/" + list_task_id , null);
mRootRef.updateChildren(deletePrivateTask);
}
});
...
Но когда у него есть держатель, он получает правильную позицию.Кто-то знает причину проблемы, почему я не могу получить жесткие позиции при нажатии ImageView?И почему, когда его владелец получает правильную позицию?
holder.mView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Map deletePrivateTask = new HashMap();
deletePrivateTask.put("PrivateTasks/" + mCurrent_user_id + "/" + list_task_id , null);
mRootRef.updateChildren(deletePrivateTask);
}});
Надеюсь, вы, ребята, можете дать мне несколько советов, спасибо всем.Я продолжаю искать решение, но пока не нашел решения.