Android ListView基本适配器

Android ListView基本适配器,android,listview,mobile,adapter,baseadapter,Android,Listview,Mobile,Adapter,Baseadapter,我的适配器类如下所示: public View getView(int i, View view, ViewGroup viewGroup) { View satirView; satirView = mInflater.inflate(R.layout.adapter, null); TextView ad = (TextView) satirView.findViewById(R.id.ad); TextView soyad = (TextView) sat

我的适配器类如下所示:

public View getView(int i, View view, ViewGroup viewGroup) {
    View satirView;
    satirView = mInflater.inflate(R.layout.adapter, null);
    TextView ad = (TextView) satirView.findViewById(R.id.ad);

    TextView soyad = (TextView) satirView.findViewById(R.id.soyad);
    TextView tarih = (TextView) satirView.findViewById(R.id.tarih);
    Button buton = (Button) satirView.findViewById(R.id.icon);

    police po = policem.get(i);
    ad.setText(po.getAd());
    soyad.setText(po.getNo());
    tarih.setText(po.getTarih());


    return satirView;
}
    listView = (ListView) findViewById(R.id.list);

    // Defined Array values to show in ListView
    List<police> values = new ArrayList<police>();
    values.add(new police("ss","kk","123"));
    values.add(new police("ss","kk","456"));
    values.add(new police("ss","kk","789"));
    values.add(new police("ss","kk","147"));
    values.add(new police("ss","kk","258"));
    values.add(new police("ss","kk","753"));

    adabter adapt = new adabter(this,values);
    listView.setAdapter(adapt);
我的主要活动课是这样的:

public View getView(int i, View view, ViewGroup viewGroup) {
    View satirView;
    satirView = mInflater.inflate(R.layout.adapter, null);
    TextView ad = (TextView) satirView.findViewById(R.id.ad);

    TextView soyad = (TextView) satirView.findViewById(R.id.soyad);
    TextView tarih = (TextView) satirView.findViewById(R.id.tarih);
    Button buton = (Button) satirView.findViewById(R.id.icon);

    police po = policem.get(i);
    ad.setText(po.getAd());
    soyad.setText(po.getNo());
    tarih.setText(po.getTarih());


    return satirView;
}
    listView = (ListView) findViewById(R.id.list);

    // Defined Array values to show in ListView
    List<police> values = new ArrayList<police>();
    values.add(new police("ss","kk","123"));
    values.add(new police("ss","kk","456"));
    values.add(new police("ss","kk","789"));
    values.add(new police("ss","kk","147"));
    values.add(new police("ss","kk","258"));
    values.add(new police("ss","kk","753"));

    adabter adapt = new adabter(this,values);
    listView.setAdapter(adapt);
我有按钮,但我不能使用onclickedlistener方法。。我该怎么办?
我必须在哪里写?

如果您只想单击按钮而不是整个列表项中的按钮,那么您只需在getView方法内的适配器类中编写代码,如下所示:

buton .setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub

            }
        });
如果您需要在整个列表项上单击事件,则应在活动中编写代码。

尝试以下操作:

      ViewHolder holder = (ViewHolder) satirView.getTag();
      holder.buton.setOnClickListener(new OnClickListener() {


        @Override
        public void onClick(View v) {

       //do your stuffs here

       }         
    });

要在何处设置单击侦听器?在整个列表项上还是仅在视图中的按钮上?