clickevent do android-Button de listView usando BaseAdapter

estou usandoExibição de lista Com o Adaptador personalizado que contém imageview, textview e 3 botões (inserir, atualizar, excluir) o requisito é que o adaptador personalizado seja chamado toda vez dentro do receptor BROADCAST até que intentfilter corresponda e eu também defina onclicklistener do botão no método getView do adaptador base.

O problema é que apenas a última linha do botão listview é apenas clicável ... Mas eu quero que todo o botão de todas as linhas deve ser clicável.

Alguém pode me dar uma sugestão ou qualquer ideia de como eu posso proceder para esse problema?

public View getView(final int position, View view, ViewGroup parent) {
    // TODO Auto-generated method stub

            pos=position;

    if(view==null)
    {
        LayoutInflater inflater=(LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        view=inflater.inflate(R.layout.device_name, parent, false);
    }

    TextView text_view=(TextView)view.findViewById(R.id.textview_deviceName);

    ImageView image_view=(ImageView)view.findViewById(R.id.imageView1);

    text_view.setText(strDeviceName[position]);
    if(strMajorDevice[position].equalsIgnoreCase("phone"))
    {
        image_view.setImageResource(int_image[0]);
    }
    else
    {
        image_view.setImageResource(int_image[1]);
    }
    btnAdd=(Button)view.findViewById(R.id.btn_add);
    btnUpdate=(Button)view.findViewById(R.id.btn_update);
    btnDelete=(Button)view.findViewById(R.id.btn_delete);

    btnAdd.setOnClickListener(this);
    btnUpdate.setOnClickListener(this);
    btnDelete.setOnClickListener(this);
    return view;
}

@Override
public void onClick(View v) {
    // TODO Auto-generated method stub
    if(v==btnAdd)
    {
        Toast.makeText(context, "ADD", Toast.LENGTH_LONG).show();
        Intent intent = new Intent(context,MaterDeviceFormActivity.class);
        intent.putExtra("button","add");
        intent.putExtra("device_address", strDviceAddess[pos]);
        context.startActivity(intent);

    }
    else if(v==btnUpdate)
    {
        Toast.makeText(context, "UPDATE", Toast.LENGTH_LONG).show();
        Intent intent = new Intent(context,MaterDeviceFormActivity.class);
        intent.putExtra("button","update");
        intent.putExtra("device_address", strDviceAddess[pos]);
        context.startActivity(intent);
    }
    else if(v==btnDelete)
    {
        Toast.makeText(context, "DELETE", Toast.LENGTH_LONG).show();
        Intent intent = new Intent(context,MaterDeviceFormActivity.class);
        intent.putExtra("button","delete");
        intent.putExtra("device_address", strDviceAddess[pos]);
        context.startActivity(intent);
    }
}

questionAnswers(5)

yourAnswerToTheQuestion