SimpleCursorAdapter и обнуление Чекбоксов

Ответить
Eserchik
Сообщения: 14
Зарегистрирован: 04 авг 2012, 13:29

SimpleCursorAdapter и обнуление Чекбоксов

Сообщение Eserchik » 30 окт 2012, 12:43

Народ, подскажите есть CustomAdapter(расширяющий SimpleCursorAdapter), он выводит из базы информацию о компаниях.
Напротив каждой компании есть CheckBox . Мне нужно что бы Чекбоксы работали по аналогии с RadioGroup, т.е ставлю галку в каком нибудь checkbox-е, а все остальные checkbox-ы обнуляються. Я так понимаю что нужно как то пробежаться по чекбоксам в цикле и обнулить каждый, но не представлю как это сделать и за что зацепится.
Буду очень признателен за помощь.

Вот код:

Код: Выделить всё


public class Adapter extends SimpleCursorAdapter{
	 Context ctx;
	 
    public Adapter(Context context, int layout, Cursor c, String[] from, int[] to) {
    	
        super(context, layout, c, from, to);
        ctx = context;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View view = super.getView(position, convertView, parent);
        long id=getItemId(position);
        view.setTag(id);
        
        CheckBox cbBox=(CheckBox)view.findViewById(R.id.cbBox);
        cbBox.setOnCheckedChangeListener(myClickButtonCheck );
        cbBox.setTag(position);
        
        
        ImageView imgViewInfo=(ImageView)view.findViewById(R.id.ivImgInfo);
        imgViewInfo.setOnClickListener(myClickButtonInfo);
        imgViewInfo.setTag(position);
        
        ImageView imgViewRating=(ImageView)view.findViewById(R.id.ivImgRating);
        imgViewRating.setOnClickListener(myClickButtonRating);
        imgViewRating.setTag(position);
        
    return view;
    }
    
    
    // обработчик для чекбоксов
    OnCheckedChangeListener myClickButtonCheck = new OnCheckedChangeListener() {
      public void onCheckedChanged(CompoundButton buttonView,
          boolean isChecked) {
        // меняем данные товара (в корзине или нет)
       
        
        //Тут нужно как то обнулить ранее выбранные чекбоксы 

  	Toast.makeText(ctx, "ID"+buttonView.getTag(), Toast.LENGTH_LONG).show();
      }
    };
    
    
    // обработчик для кнопок
    OnClickListener myClickButtonInfo = new OnClickListener () {
      public void onClick(View v) {
  		// TODO Auto-generated method stub
        Toast.makeText(ctx, "ID"+v.getTag(), Toast.LENGTH_LONG).show();
  	
  	}

    };
    
    // обработчик для кнопок
    OnClickListener myClickButtonRating = new OnClickListener () {
      public void onClick(View v) {
  		// TODO Auto-generated method stub
        Toast.makeText(ctx, "ID"+v.getTag(), Toast.LENGTH_LONG).show();
  	
  	}

    };
}



Аватара пользователя
damager82
Администратор
Сообщения: 1383
Зарегистрирован: 07 янв 2012, 11:32
Контактная информация:

Re: SimpleCursorAdapter и обнуление Чекбоксов

Сообщение damager82 » 30 окт 2012, 13:54

Eserchik писал(а):Мне нужно что бы Чекбоксы работали по аналогии с RadioGroup, т.е ставлю галку в каком нибудь checkbox-е, а все остальные checkbox-ы обнуляються. Я так понимаю что нужно как то пробежаться по чекбоксам в цикле и обнулить каждый, но не представлю как это сделать и за что зацепится
А у вас сейчас чекбоксы работают и включаются согласно какому-то полю в БД? SimpleCursorAdapter вроде как не умеет это делать ...
А вообще надо будет пробежаться по курсору и обнулить значения которые используются для чекбоксов.
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение

Ответить