¿Cómo obtener la vista principal de un botón dentro de un adaptador de lista?

Soy de Brasil y tengo una vista de lista que contiene botones de imágenes y textos. Estoy intentando hacer clic en la vista de lista de botones y obtener la vista responsable de la línea en la que hago clic. así que puedo hacer cambios en la línea donde este mi botón.

lo que está sucediendo y si el código de abajo, cuando hago clic en el botón, cualquiera de los botones de la lista, siempre realiza el cambio en el primer elemento de la lista, y quería que lo hiciera en su línea respectiva. por lo tanto esta lista

IMAGEN ------------ --------------- TEXTO - BOTÓN
IMAGEN ------------ --------------- TEXTO - BOTÓN
IMAGEN ------------ --------------- TEXTO - BOTÓN
IMAGEN ------------ --------------- TEXTO - BOTÓN

Hago clic en el botón y él simplemente cambia el texto de su ejemplo de línea:

IMAGEN ------------ --------------- TEXTO - BOTÓN
IMAGEN ------------ -------------- CAMBIO - BOTÓN <- HECHO CLIC EN
IMAGEN ------------ --------------- TEXTO - BOTÓN
IMAGEN ------------ --------------- TEXTO - BOTÓN

Y..

IMAGEN ------------ --------------- TEXTO - BOTÓN
IMAGEN ------------ --------------- TEXTO - BOTÓN
IMAGEN ------------ --------------- TEXTO - BOTÓN
IMAGEN ------------ -------------- CAMBIO - BOTÓN <- HECHO CLIC EN

Recordando eso y usé un adaptador dentro de la lista de fragmentos. ¡Lo siento, mi inglés es malo!

public class JAdapterList extends BaseAdapter  implements OnClickListener {

    private LayoutInflater mInflater;
    private ArrayList<JItemList> itens;

    public JAdapterList(Context context, ArrayList<JItemList> itens) {
        //Itens que preencheram o listview
        this.itens = itens;
        //responsavel por pegar o Layout do item.
        mInflater = LayoutInflater.from(context);
    }

    public int getCount() {
        return itens.size();
    }

    public JItemList getItem(int position) {
        return itens.get(position);
    }

        public long getItemId(int position) {
        return position;
    }

    public View getView(int position, View view, ViewGroup parent) {
        //Pega o item de acordo com a posção.
        JItemList item = itens.get(position);
        //infla o layout para podermos preencher os dados

        view = mInflater.inflate(R.layout.navlistitem, null);

        ((TextView) view.findViewById(R.id.textListView)).setText(item.getNome());


        ImageButton ib = (ImageButton) view.findViewById(R.id.imageButton1);
        ib.setOnClickListener(this);

        return view;
    }

    @Override
    public void onClick(View v) {

        // TODO Auto-generated method stub


    View vv = v.getRootView();


    ImageView tv = (ImageView) vv.findViewById(R.id.imageView1);
    TextView texto = (TextView) vv.findViewById(R.id.textListView4);
    texto.setText("CHANGE");
    tv.setAnimation(AnimationUtils.loadAnimation(tv.getContext(), R.anim.motion));




    }
}

Respuestas a la pregunta(2)

Su respuesta a la pregunta