создания listview с помощю checkbox. нужна помощь

Интерфейс, диалоги, темы, стили, меню
Ответить
svyART
Сообщения: 6
Зарегистрирован: 22 май 2014, 21:58

создания listview с помощю checkbox. нужна помощь

Сообщение svyART » 22 май 2014, 22:34

Доброго времени суток всем. В силу того что я новичок в програмировании,возникли проблемы в создании "програмки". Если коротко описать что мне нужно,так ето создания listview с помощью checkbox. К теме прикрепил картинку,с тремя "екранами" того,как должна она работать. Если ктото сможет помоч,буду очень благодарен!
p.s. в етом коде checkbox вообще не реагирует на нажатия(не создает строки в listview)а кстати,извеняюсь за свой руский))

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

 public class MainActivity extends Activity {
 
	   CheckBox cbS,cbW;
       OnCheckedChangeListener checkBoxListener;
 
       private ArrayList <HashMap<String, Object>> myBooksObrane;
       private static final String GAMETITLE = "gametitle";   
 
            @Override
            public void onCreate(Bundle savedInstanceState) {
                        super.onCreate(savedInstanceState);
                        setContentView(R.layout.activity_main);
                        
                        cbS=(CheckBox)findViewById(R.id.cbSuvendu);
                        cbW=(CheckBox)findViewById(R.id.cbWordPress);
                        
                        ListView lv = (ListView)findViewById(R.id.listView1);
                        
                        myBooksObrane = new ArrayList<HashMap<String,Object>>();                
                        final HashMap<String, Object> hm,hm1;
 
                              hm = new HashMap<String, Object>();    
                              hm.put(GAMETITLE, "game1");  

                              hm1 = new HashMap<String, Object>();  
                              hm1.put(GAMETITLE, "game2");  
							
                              checkBoxListener = new OnCheckedChangeListener(){

								@Override
								public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {
									// TODO Auto-generated method stub
									if(cbS.isChecked()){
                                        myBooksObrane.add(hm);
                                        }
									if(cbW.isChecked()){
                                        myBooksObrane.add(hm1);
                                        }
                                     if(!cbS.isChecked()&&!cbW.isChecked()){
                                        myBooksObrane.remove(hm1);
                                        }
                                     }
                         };
 
                cbS.setOnCheckedChangeListener(checkBoxListener);
                cbW.setOnCheckedChangeListener(checkBoxListener);
                
 
 
 SimpleAdapter adapter = new SimpleAdapter(this, myBooksObrane,R.layout.list_ri, new String[]{
         GAMETITLE         
         }, new int[]{
         R.id.text1}); 
 lv.setAdapter(adapter);
 lv.setChoiceMode(ListView.CHOICE_MODE_SINGLE); 

 adapter.notifyDataSetChanged();
 
 lv.setOnItemClickListener(new OnItemClickListener() {
    public void onItemClick(AdapterView<?> parent, View view,int position, long id) {

      if(position == 1){
//       startActivity(skazochnayaInt);
          finish();
      }
    }    
});
 
 }
}
Вложения
картинка &quot;екранов&quot;
картинка "екранов"
1.jpg (88.99 КБ) 3049 просмотров
Последний раз редактировалось svyART 23 май 2014, 09:26, всего редактировалось 1 раз.

Аватара пользователя
klblk
Сообщения: 1097
Зарегистрирован: 18 окт 2012, 11:17
Откуда: г. Красноярск

Re: создания listview с помощю checkbox. нужна помощь

Сообщение klblk » 23 май 2014, 06:03

после добавления/удаления элемента из списка нужно notifyDataSetChanged() у адаптера делать.

svyART
Сообщения: 6
Зарегистрирован: 22 май 2014, 21:58

Re: создания listview с помощю checkbox. нужна помощь

Сообщение svyART » 23 май 2014, 09:23

57 строка ,вроде как есть "adapter.notifyDataSetChanged();" ,может я не туда его вставил?

Аватара пользователя
klblk
Сообщения: 1097
Зарегистрирован: 18 окт 2012, 11:17
Откуда: г. Красноярск

Re: создания listview с помощю checkbox. нужна помощь

Сообщение klblk » 23 май 2014, 09:35

svyART писал(а):57 строка ,вроде как есть "adapter.notifyDataSetChanged();" ,может я не туда его вставил?
там он тоже нужен, но он срабатывает только 1 раз при запуске. Нужно чтобы срабатывал при каждом изменении списка. Т.е. поставте его еще в конце функции onCheckedChanged().

svyART
Сообщения: 6
Зарегистрирован: 22 май 2014, 21:58

Re: создания listview с помощю checkbox. нужна помощь

Сообщение svyART » 23 май 2014, 09:53

большое спасибо! уже начало работать! криво правда, но работает)) попробую дальше сам разобраться. еще раз спасибо!

Ответить