2014-11-04 7 views
0

Допустим, у вас есть такой объект, и вы хотите, чтобы программа проходила через каждый динамически созданный флажок, чтобы убедиться, что он не был проверен.Как вы повторяете динамически созданные объекты?

Если не было отмечено, программа должна создать уведомление, предупреждающее пользователя о том, что один или несколько из этих объектов не были проверены.

Каков наилучший способ определить, установлен ли флажок или нет?

Каждый раз, когда я запускаю программу, она применяется только к последнему созданному флажку независимо от того, сколько проверенных или непроверенных флажков выполняется. Спасибо за ваше время.

View ObjectView; 
CheckBox check; 
//A whole bunch of code here. 
public void onClick(View arg0) { 


       if (check==null){ 

       } 

       else if (check==null || check.isChecked()){ 

       } 

       else { 

        ObjectView.getId(); 
        NotificationCompat.Builder mBuilder = 
         new NotificationCompat.Builder(getActivity()) 
         .setSmallIcon(android.R.drawable.stat_notify_more) 
         .setContentTitle("Items missing") 
         .setContentText("One or more items are missing"); 
       int ID_Notify = 01; 
       getActivity(); 

       NotificationManager managenote = (NotificationManager)getActivity().getSystemService(Context.NOTIFICATION_SERVICE); 

       managenote.notify(ID_Notify, mBuilder.build()); 
+0

Вы создаете флажки динамически? – DroidDev

+0

Постарайтесь установить все флажки внутри одного родительского макета и попытаться выполнить итерацию с помощью родительского макета дочернего счета и получить дочерние элементы в позиции проверки значения дочернего элемента. –

+0

Да. Все флажки создаются динамически. –

ответ

1

Im собирается помочь вам пример моего кода и попытаться объяснить это, понимая, что им не буду нянчить вы (значит, вы не можете просто скопировать пасту), потому что я все еще есть работа.

Во-первых, новый динамический spinner будет создан каждый раз нажать на кнопку (внутри onClick):

 Spinner spinner = new Spinner(this); 
     spinner.setAdapter(spinChildAdapter); 
     parentSpinner.addView(spinner); 
     spinner.setId(totalDynamicChild); //the spinner's id will be the increment from 0 
     spinnderIdList.add(totalDynamicChild); //list of the dynamic spinner ID 
     totalDynamicChild++; 

Тогда мы можем получить доступ к этим динамическим Спиннерс с:

for(int i = 0; i < totalDynamicChild; i++) 
    { 
     Spinner s = (Spinner)findViewById(spinnderIdList.get(i)); 
     //do something with the spinner's object here 
    } 

Смело если у вас есть вопросы.