2015-08-21 2 views
0

У меня есть список, в котором показано изображение, тип/описание автомобиля и флажок. Когда пользователь теперь выбрал автомобиль/ы, я хочу показать их в другом списке. Когда он отменил его от CarListAdapter, он также должен исчезнуть из нового списка. Могу ли я это понять, используя тот же «Залхолдер»?Listview with checkbox, показать отмеченные записи в другом списке

class CarListAdapter extends BaseAdapter 
{ 

    ArrayList<ItemsHolder> holderList; 
    BitmapHelper bitmapHelper = BitmapHelper.getInstance(); 


    public CarListAdapter(ArrayList<ItemsHolder> holderList) 
    { 
     this.holderList = holderList; 
    } 

    @Override 
    public int getCount() 
    { 
     return holderList.size(); 
    } 

    @Override 
    public Object getItem(int position) 
    { 
     return null; 
    } 

    @Override 
    public long getItemId(int position) 
    { 
     return 0; 
    } 

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

     final ViewHolder holder; 

     if (convertView == null) 
     { 
      LayoutInflater inflater = LayoutInflater.from(RentingDataActivity.this); 
      convertView = inflater.inflate(R.layout.listview_renting_entry, null, true); 
      holder = new ViewHolder(); 
      holder.rowCarId = (TextView) convertView.findViewById(R.id.rowCarId); 

      holder.rowImageView = (ImageView) convertView 
        .findViewById(R.id.rowImageView); 
      holder.rowCarType = (TextView) convertView.findViewById(R.id.rowCarType); 
      holder.rowCarDescription = (TextView) convertView 
        .findViewById(R.id.rowCarDescription); 
      holder.rowCheckbox = (CheckBox) convertView.findViewById(R.id.rowCheckBox); 
      convertView.setTag(holder); 


      } 


     else 
     { 
      holder = (ViewHolder) convertView.getTag(); 
      // holder.rowCheckbox.setOnCheckedChangeListener(null); 
     //  holder.rowCheckbox.setTag(R.id.rowCheckBox, position); 
     } 


    //  auto = holderList.get(position); 
     final ItemsHolder ih = holderList.get(position); 
     holder.rowImageView.setImageBitmap(bitmapHelper.getBigImage(ih.getImagePath(), 248)); 
     holder.rowCarType.setText(ih.getCarType()); 
     holder.rowCarDescription.setText(ih.getCarDescription()); 
     // holder.rowCheckbox.setTag(ih); 

     holder.rowCarId.setText(ih.getCarId()); 
     holder.rowCheckbox.setChecked(ih.isSelected()); 

     holder.rowCheckbox.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       CheckBox checkbox = (CheckBox)v.findViewById(R.id.rowCheckBox); 

       // Toast.makeText(getApplicationContext(), holder.rowCarType.getText().toString(), 
       // Toast.LENGTH_LONG).show(); 

       ih.setSelected(checkbox.isChecked()); 
      } 
     }); 

     return convertView; 
    } 

} 
+1

Можете ли вы описать это более четко? «Когда пользователь теперь выбрал автомобиль/ы, я хочу показать их в другом списке« Где этот другой список? – Passiondroid

+0

Это еще не реализовано, потому что я думаю, как я могу заполнить, что покажет только выбранный. – AlbertFragt

+0

Вы можете использовать один и тот же класс ViewHolder в другом списке. –

ответ

1

Я хотел бы добавить это как комментарий, но увы я не получил достаточно очков:

добавить к адаптеру;

notifyDataSetChanged(); 

Это обновляет список асинхронно.

+1

, теперь у вас достаточно повторений для комментариев, а также @Matthew !! –