Después de filtrar una vista de lista, ¿cómo puedo obtener la posición de la primera vista de lista?

Después de filtrar una vista de lista, ¿cómo puedo obtener la posición de la primera vista de lista? Uso simpleadapter para llenar la vista de lista. Cada elemento en la fuente de datos tiene su propia identificación, y uso "caso" para redirigirlos. Después de filtrar la vista de lista, no sé cómo asociar los últimos elementos con la primera vista de lista. La posición y el ID han cambiado. Gracias.

Utilizo afterTextChanged de EditTextView para filtrar la vista de lista y notificarla.

            @Override
        public void afterTextChanged(Editable paramEditable) {

            listItemsCopy.clear();
            int count=simpleAdapter.getCount();
            if ((count>0 )&&paramEditable.length()>0) {
                for (int i = 0; i < simpleAdapter.getCount(); i++) {
                    Map<String,Object> tempMap=(Map<String,Object>)simpleAdapter.getItem(i);
                    String itemName=tempMap.get("name").toString();
                    HashMap<String, Object> tempHashMap=new HashMap<String, Object>();
                    int copyCount=0;
                    if(itemName.toLowerCase().contains(paramEditable.toString().toLowerCase())){

                        tempHashMap=(HashMap<String, Object>)simpleAdapter.getItem(i);
                        listItemsCopy.add(tempHashMap);

                        copyCount++;
                    }
                }                       

        if(listItemsCopy!=null){
        Handler handler=new Handler();
        handler.postDelayed(new Runnable() {

            @Override
            public void run() {
                simpleAdaptercopy = new SimpleAdapter(getActivity(),
                        listItemsCopy, R.layout.right_menu_list_view, new String[] {
                                "name", "id", "image" }, new int[] {
                                R.id.rightMenuListViewTextView1,
                                R.id.rightMenuListViewTextView2,
                                R.id.rightMenuListViewImageView1 });

                simpleAdapter.setViewBinder(new ViewBinder() {

                    @Override
                    public boolean setViewValue(View view, Object data,
                            String textRepresentation) {
                        if ((view instanceof ImageView && data instanceof Bitmap)) {
                            ImageView iv = (ImageView) view;
                            iv.setImageBitmap((Bitmap) data);
                            return true;
                        } else {
                            return false;
                        }
                    }
                });
                listView.setAdapter(simpleAdaptercopy);
                simpleAdapter.notifyDataSetChanged();


                                }
        }, 1000);
        }
            }
            else {
                listView.setAdapter(simpleAdapter);
                simpleAdapter.notifyDataSetChanged();
            }
        }

Luego, quiero usar el método onItemClick de listview para redirigir un Intent diferente. Como la fuente de datos ha cambiado, tanto la posición como la id son diferentes de las que deseo

        @Override
        public void onItemClick(AdapterView<?> parent, View view,
                int position, long id) {
            Intent intent = null;
            switch (position) {}`

Respuestas a la pregunta(2)

Su respuesta a la pregunta