2016-03-08 52 views
1

我有自定義適配器的列表視圖。我在我的行中有textview複選框。從自定義適配器中獲取列表視圖中所有選中項的列表

以下是我getView方法

public View getView(int position, View convertView, ViewGroup parent) { 

     ViewHolder viewHolder = null; 
     if (convertView == null) { 
      LayoutInflater inflator = (LayoutInflater) context 
        .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
      convertView = inflator.inflate(R.layout.filters, null); 
      viewHolder = new ViewHolder(); 
      viewHolder.text = (TextView) convertView.findViewById(R.id.label); 
      viewHolder.checkbox = (CheckBox) convertView.findViewById(R.id.check); 
      final ViewHolder finalViewHolder = viewHolder; 
      viewHolder.checkbox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { 

       @Override 
       public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 
        int getPosition = (Integer) buttonView.getTag(); 
        list.get(getPosition).setSelected(buttonView.isChecked()); 

       } 
      }); 
      convertView.setTag(viewHolder); 
      convertView.setTag(R.id.label, viewHolder.text); 
      convertView.setTag(R.id.check, viewHolder.checkbox); 
     } else { 
      viewHolder = (ViewHolder) convertView.getTag(); 
     } 
     viewHolder.checkbox.setTag(position); 

     viewHolder.text.setText(list.get(position).getName()); 
     viewHolder.checkbox.setChecked(list.get(position).isSelected()); 
     return convertView; 
    } 

我如何能夠得到所有的列表中選中複選框的項目?我嘗試使用SparseBooleanArray,但仍然無法這樣做。

+0

可能重複的[從ListView Android獲取所有檢查的項目](http://stackoverflow.com/questions/25464570/getting-all-checked-items-from-listview-android) – Max

回答

1

如果我是你,我會嘗試這樣做:
1.創建StateList
3.設置ChangeCheckListener從列表
3.空
2.將項目狀態創建ChangeCheckListener -listen到平變化的行動和保存它到一個列表

相關問題