2013-08-05 152 views
0

我有一個列表包含一些複選框,如何可以找出哪個複選框被點擊。 我嘗試itemClickListener()但沒有迴應我,自定義列表單擊複選框

+0

'onItemClickListener'設置在ListView的整個行視圖上,您​​必須區分複選框上的點擊,以便您行點擊監聽器不會干擾。 http://www.mysamplecode.com/2012/07/android-listview-checkbox-example.html –

+0

我嘗試使用Cursor添加,但在本例中使用list.add() –

+0

http://lalit3686.blogspot 。在/ 2012/06 /今天我-AM持續到演出 - 如何對deal.html –

回答

0

對於這一點,你必須通過extendind 的BaseAdapter類,然後在getview(創建自己的適配器)的方法該adpater膨脹的佈局,並獲得該複選框,併爲此編寫監聽器..

0

創建你自己的ArrayAdapter,並在你的getView(...)方法中實現你的cckckbox監聽器。

getView爲您提供列表中的項目位置,以便您可以執行任何所需的操作。

這裏是如何ONW arrayadapter創建你的爲例:

How to use ArrayAdapter<myClass>

0
@Override 
    public View getView(final int position, View convertView, ViewGroup parent) { 
     View view; 
     if (convertView == null) { 
      LayoutInflater inflater = MyPINsActivity.this 
        .getLayoutInflater(); 
      view = inflater.inflate(R.layout.row_list_mypins, null); 
     } else { 
      view = convertView; 
     } 

     final CheckBox cb = (CheckBox) view.findViewById(R.id.cb); 
     //here you can save the position as tag to CheckBox, and get where you want 
     cb.setTag(position); 

     cb.setOnCheckedChangeListener(new OnCheckedChangeListener() { 

      @Override 
      public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 
       if(isChecked){ 
        //get the positon of CheckBox by using mCheckBox.getTag() 
        String positon = cb.getTag().toString(); 
        Log.e(TAG, "positon: "+positon); 
       } 
      } 
     }); 
    } 
相關問題