2013-07-11 28 views
0

如何處理4個不同列表視圖使用一個arrayAdapter。我有4個不同的ArrayLists,我傳遞給arrayAdapter。除了複製和粘貼以創建4個ArrayAdapter類以外,它們除了輸入到適配器中的arrayList特定的幾行外,其他都是相同的。如何爲4個獨立的arrayLists使用相同的arrayAdapter類?如何處理ArrayAdapter類與不同ArrayList使用多次

問題是我需要ArrayAdapter來知道輸入了4個arrayLists中的哪一個,因爲我在Adapter類方法中有一個switch語句。

在這種情況下,我應該爲此ArrayAdapter類的構造函數添加一個額外的參數變量,作爲輸入四個數組列表中的哪一個的標識符?像一個int?

因爲我的適配器類擴展了ArrayAdapter類,我該怎麼做?我是否會在構造函數參數中添加一個變量位置,然後像以前一樣保留超級調用的相同位置?

super(context, textViewResourceId, objects); 

你會如何處理這個問題?

// array adapter where you enter the array 
     SelectorListAdapter adapter = new SelectorListAdapter(activity, R.layout.row_layout, smallTank2listInfo1Array); 
     SelectorListAdapter adapter2 = new SelectorListAdapter(activity, R.layout.row_layout, smallTank2listInfo2Array); 
     SelectorListAdapter adapter3 = new SelectorListAdapter(activity, R.layout.row_layout, smallTank2listInfo3Array); 
     SelectorListAdapter adapter4 = new SelectorListAdapter(activity, R.layout.row_layout, smallTank2listInfo4Array); 

      // set array adapter to listview 
      listViewOne.setAdapter(adapter); 
      listViewTwo.setAdapter(adapter2); 
      listViewThree.setAdapter(adapter3); 
      listViewFour.setAdapter(adapter4); 



    public class SelectorListAdapter extends ArrayAdapter<CheckBoxListInfo>{ 
     ArrayList<CheckBoxListInfo> objects; 
     Context context; 
     int textViewResourceId; 
     private String tempLabel; 
     private boolean isChecked; 

     public SelectorListAdapter(Context context, int textViewResourceId, 
      ArrayList<CheckBoxListInfo> objects) { 
      super(context, textViewResourceId, objects); 
      this.context = context; 
      this.textViewResourceId = textViewResourceId; 
      this.objects = objects; 

     } 
+0

*如何使用同一個ArrayAdapter類的4周獨立的ArrayList * - **不要**做到這一點。 *問題是我需要ArrayAdapter來知道輸入了4個arrayLists中的哪一個* - 然後將一個附加值傳遞給適配器以識別列表,整數,對象,enum等等。 – Luksprog

回答

0

其實你已經回答了一切自己

如何使用相同的arrayAdapter類4個獨立的arrayLists? - 您可以使用的顏色。

要標識不同的arrayAdapter s,您可以將一個變量傳遞給存儲在局部變量中的構造函數。根據這個變量的值,你可以決定你想要做什麼。

在調用父類的constuctor離開這個變量,並調用super()

相關問題