Filtr w Androidzie przyjmuje niewłaściwą pozycję

Próbuję posortować listę według EditText przy użyciu filtru w adapterze.

Filtr dobrze się przetwarza, ale pozycja kliknięcia widoku listy jest zawsze stała.

tj. ListView pobiera filtr, ale po wybraniu elementu przyjmuje tę samą pozycję w widoku listy.

FirstScreen wygląda tak i kiedy wybrana jest albania albania jest wyświetlana poprawnie, ale gdy po sortowaniu zachodzi wybieranie, a ta sama albania jest wyświetlana, ponieważ poition wynosi 0 na liście, zobacz, jak rozwiązać ten problem

Część kodu w adapterze to:

@Override
public Filter getFilter() {

    Filter filter = new Filter() {

        @SuppressWarnings("unchecked")
        @Override
        protected void publishResults(CharSequence constraint,
                FilterResults results) {

            country_inf = (ArrayList<CustomCountryCodesPojo>) results.values;
            notifyDataSetChanged();
        }

        @Override
        protected FilterResults performFiltering(CharSequence constraint) {

            FilterResults results = new FilterResults();
            ArrayList<CustomCountryCodesPojo> FilteredArrayNames = new ArrayList<CustomCountryCodesPojo>();

            if (mOriginalNames == null) {
                mOriginalNames = new ArrayList<CustomCountryCodesPojo>(
                        country_inf);
            }
            if (constraint == null || constraint.length() == 0) {
                results.count = mOriginalNames.size();
                results.values = mOriginalNames;
            } else {
                constraint = constraint.toString().toLowerCase();
                for (int i = 0; i < mOriginalNames.size(); i++) {
                    CustomCountryCodesPojo dataNames = mOriginalNames
                            .get(i);
                    if (dataNames.countryName.toString().toLowerCase()
                            .contains(constraint.toString())) {
                        FilteredArrayNames.add(dataNames);
                    }
                }

                results.count = FilteredArrayNames.size();
                // System.out.println(results.count);

                results.values = FilteredArrayNames;
                // Log.e("VALUES", results.values.toString());
            }

            return results;
        }
    };

    return filter;
}

Moim problemem jest to, że w pozycji na liście kliknij po przeszukiwaniu jej pozycji z pierwszej pozycji

Kod kliknięcia ListView to

lv_list.setOnItemClickListener(new OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                long arg3) {
            Intent i = new Intent();
            i.putExtra("flagId", flagId);
            i.putExtra("name", allRecords.get(arg2).countryName);
            setResult(RESULT_OK, (i).setAction("ok"));
            finish();

        }
    });

questionAnswers(1)

yourAnswerToTheQuestion