2015-08-09 1 views
0

У меня есть список заполненных данных «необходимая RepData», и я пытаюсь добавить этот список к моему адаптеру и имею проблемы. Ниже мой класс Reps и мой метод (из другого класса), чтобы выполнить итерацию через необходимыеRepData.Динамически скомпилировать классы и добавить их в ArrayAdapter

public class Reps { 
    public int icon; 
    public String title; 

    public Reps() { 
     super(); 
    } 

    public Reps(int icon, String title) { 
     super(); 
     this.icon = icon; 
     this.title = title; 
    } 
} 

List<Reps> listOfReps = new ArrayList<Reps>(); 
    for (int i = 0; i < neededRepData.size(); i++) { 
     String currentRep = neededRepData.get(i); 
     listOfReps.add(new Reps(R.drawable.unknown_representative, currentRep)); 
    }  

В этот момент мой списокOfReps имеет все, что я ожидаю от него. Однако, когда я создаю свой адаптер, я вынужден делать что-то, как показано ниже.

Я хочу передать мой customRepData [] объект, созданный динамически в мой адаптер, я не могу видеть способ петли внутри конструкции customRepData [], может быть, есть лучший способ?

Мой расширенный класс ArrayAdapter выглядит следующим образом:

public class LocalRepAdapter extends ArrayAdapter<Reps> { 

Context context; 
int layoutResourceId; 
Reps data[] = null; 

public LocalRepAdapter(Context context, int layoutResourceId, Reps[] data) { 
    super(context, layoutResourceId, data); 
    this.layoutResourceId = layoutResourceId; 
    this.context = context; 
    this.data = data; 
} ...... 

Спасибо.

ответ

2

Вы вынуждены создать массив классов Reps customRepData[], поскольку конструктор адаптера принимает массив классов, но вы можете легко изменить его

public LocalRepAdapter(Context context, int layoutResourceId, ArrayList<Reps> list) 

так что вам больше не нужны Reps customRepData[] и вы можете просто передать listOfReps ему нравится

LocalRepAdapter adapter = new LocalRepAdapter(this, R.layout.mylist, listOfReps); 
+0

Да, вы правы. Изменив конструктора, сделал трюк, спасибо! – Airborne

+0

@Airborne приветствую :) – SaNtoRiaN

Смежные вопросы