解决方案 »

  1.   

    android.widget.AdapterView.getPositionForView(View)
      

  2.   

    在getView里面直接绑定对button的onclick监听,然后把position传进去 position要定义成final的
      

  3.   

    getview的时候  button.settag(position)用的时候  button.gettag()
      

  4.   

    在的ListView的Adapter类的getView方法中,为每个button设置一个tag
    button.setTag("" + position);
      

  5.   

    public View getView(  int position, View convertView, final ViewGroup parent) {
    final ViewHolder viewHolder;

    if (convertView == null) {
    convertView = inflater.inflate(R.layout.custom_list_item, parent,false);
    viewHolder = new ViewHolder(convertView);
    convertView.setTag(viewHolder);
    } else {
    viewHolder=(ViewHolder) convertView.getTag();
    }
    final Task aTask=tasks[position];
    viewHolder.setNewTask(aTask);
    viewHolder.btnAction.setOnClickListener(new Button.OnClickListener(){
    @Override
    public void onClick(View v) {
    Toast.makeText(context, "I'm "+aTask.getDesc(), Toast.LENGTH_SHORT).show();
    new Thread(aTask).start();
    }

    });

    return convertView;
    }// getView()我把我的直接给你copy过来了  要写在适配器中
      

  6.   

    额,你点击的事件不是在getview里面写么,里面不是有属性么
      

  7.   

    我都给你copy 过来了还不会