2014-11-04 15 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 2014-11-04 06:34:40

+0

嘗試將所有複選框放入一個父佈局中,並嘗試遍歷父佈局子數並獲取子對象的位置檢查值。 – 2014-11-04 06:35:03

+0

是的。所有的複選框都是動態創建的。 – 2014-11-04 06:36:33

回答

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 
    } 

隨意如果你有問題,請發表評論。