удалить элемент из списка <String>в Android - PullRequest
0 голосов
/ 12 октября 2019

У меня есть список, т. Е. Tag_complaints1, который содержит значение вроде:

[#nasikPolice, #mnc, #awaaz, #college, #principal, #stalking, #eve_teasing, #bad_touch, #domestic_violence, #nasik, #help, #muncipal] 

После выбора данных из multiAutoCompleteTextView получить данные типа:

[#principal #b #awaaz ] 

с помощью этого

List<String> items = Arrays.asList(tag_name);

теперь я хочу удалить #principal #awaaz из элементов списка, которые уже присутствуют в tag_complaints1, и получить только #b из элементов списка.

      tag_name = multiAutoCompleteTextView.getText().toString();
            Log.d(TAG,"selected tags are:"+tag_name);

            if (!tag_complaints.contains(tag_name)){

                final DocumentReference documentReference7 = firebaseFirestore.collection("Button").document("Tag_option");
                documentReference7.get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
                    @Override
                    public void onComplete(@NonNull Task<DocumentSnapshot> task) {
                        if (task.isSuccessful()) {
                            DocumentSnapshot document = task.getResult();
                            if (document != null) {
                                tag_complaints1 = (List<String>) document.get("Tags");
                                ArrayList<String> tempList= new ArrayList<String>();

                                List<String> items = Arrays.asList(tag_name);
                                Log.d(TAG,"getted string List"+items);


                                //documentReference7.update("Tags", FieldValue.arrayUnion(new_tag_name));


                            }
                        }
                    }
                });

Ответы [ 2 ]

0 голосов
/ 15 октября 2019

После получения данных из multiAutoCompleteTextView его необходимо разделить с помощью:

Список списка = (Arrays.asList (tag_name.split (""));

, затем выполните операцию удаления, как:

    //remove common element
                                for (String removestring : tag_complaints1) {
                                    if (list.contains(removestring)) {
                                        //filter item from list
                                        list.remove(removestring);
                                    }

                                }
                                Log.d(TAG,"after removing list"+list);
0 голосов
/ 12 октября 2019

Использование List#removeAll:

if (document != null) {
    tag_complaints1 = (List<String>) document.get("Tags");
    ArrayList<String> tempList= new ArrayList<String>();
    List<String> items = Arrays.asList(tag_name);
    Log.d(TAG, "getted string List" + items);
    // CHANGE HERE:
    items.removeAll(tag_complaints1);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...