Я новичок в разработке android. Как изменить значения List <String>в recyclerviewAdapter с помощью Textwatcher - PullRequest
0 голосов
/ 06 мая 2020

Я новичок в android разработке. Я разрабатываю приложение, которое принимает значения списка в RecyclerView.Adapter. Моя проблема заключается в том, что я хочу отредактировать значения, отображаемые адаптером recyclerView, используя Textwatcher(), и уведомить recyclerView, чтобы повлиять на изменения в том же RecyclerView. Я использую базу данных Firestore в качестве базы данных и RecyclerView.Adapter. Может ли кто-нибудь помочь.

**public class ListAdapters extends RecyclerView.Adapter<ListAdapters.ViewHolder> {
            private Context mContect;
            private List<String> list_details;
            private OnItemClickListener onItemClickListener;


            public ListAdapters(Context mContect, List<String> list_details) {
                this.mContect = mContect;
                this.list_details = list_details;
            }

            @NonNull
            @Override
            public ListAdapters.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
                View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.viewholder_list, parent, false);
                return new ListAdapters.ViewHolder(view, onItemClickListener);
            }

            @Override
            public void onBindViewHolder(@NonNull ListAdapters.ViewHolder holder, int position) {
                holder.listTV.setText(list_details.get(position));

                holder.listTV.addTextChangedListener(new TextWatcher() {
                    @Override
                    public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {

                    }

                    @Override
                    public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {

                    }

                    @Override
                    public void afterTextChanged(Editable editable) {

                    }
                });

            }

            @Override
            public int getItemCount() {
                return list_details.size();
            }

            public class ViewHolder extends RecyclerView.ViewHolder {
                TextView listTV;


                public ViewHolder(@NonNull final View itemView, final OnItemClickListener listener) {
                    super(itemView);
                    listTV = itemView.findViewById(R.id.listTv);


                    itemView.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View view) {
                            if (listener!=null){
                                int position = getAdapterPosition();
                                if (position!=RecyclerView.NO_POSITION){
                                    listener.onItemClick(position);
                                }
                            }
                        }
                    });
                }
            }

            public interface OnItemClickListener {
                void onItemClick(int position);
            }

            public void setOnItemClickListener(OnItemClickListener listener) {
                onItemClickListener = listener;
            }
        }







        ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    ////////////Activity Startup.............................................
    public class ListItems extends AppCompatActivity {



    private void recyclerViewEventListener() {
            listCollectionRef.document(listID)
                    .get()
                    .addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
                        @Override
                        public void onComplete(@NonNull Task<DocumentSnapshot> task) {
                            if (task.isSuccessful()) {
                                DocumentSnapshot documentSnapshot = task.getResult();
                                if (documentSnapshot.exists() && documentSnapshot.get("listDescription") != null) {
                                    eventKey = documentSnapshot.getString("Event_Key");
                                    storedItems.clear();
                                    storedItems.addAll((List<String>) documentSnapshot.get("listDescription"));
                                    adapter.notifyDataSetChanged();
                                }
                            }
                        }
                    });

            recyclerView.setHasFixedSize(true);
            LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getApplicationContext());
            linearLayoutManager.setStackFromEnd(true);
            recyclerView.setLayoutManager(linearLayoutManager);
            recyclerView.setAdapter(adapter);
            adapter.notifyDataSetChanged();



            adapter.setOnItemClickListener(new ListAdapters.OnItemClickListener() {
                @Override
                public void onItemClick(int position) {
                    Log.d(TAG, "onItemClick: "+ position);
    //                storedItems.remove(position);
                    adapter.notifyItemRemoved(position);
                }
            });
        }**
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...