Объединение ArrayList и ArrayList в один адаптер и представление списка

#java #android #adapter

Вопрос:

     ArrayList<String> stepsList = new ArrayList<>();
ArrayList<Integer> stepsPosList = new ArrayList<>();

 stepsAdapter = new ArrayAdapter<String>(this,R.layout.steps_item,R.id.etStepsDetails,stepsList);
    stepsAdapter2 = new ArrayAdapter<Integer>(this,R.layout.steps_item,R.id.tvStepsPosition,stepsPosList);


    stepsView.setAdapter(stepsAdapter);
    stepsView2.setAdapter(stepsAdapter2);
 

Можно ли объединить 2 адаптера массива в 1? Макет находится на той же странице, но мне нужно 2 идентификатора и 2 списка массивов в каждом. а затем вызовите представление списка.

КЛАСС POJO

 public class CombineData {

ArrayList<String> stepsList;
ArrayList<Integer> stepsPosList;

public CombineData(ArrayList<String> stepsList,ArrayList<Integer> stepsPosList){
    this.stepsList = stepsList;
    this.stepsPosList = stepsPosList;
}

public CombineData(){

}

public ArrayList<String> getStepsList() {
    return stepsList;
}

public void setStepsList(ArrayList<String> stepsList) {
    this.stepsList = stepsList;
}

public ArrayList<Integer> getStepsPosList() {
    return stepsPosList;
}

public void setStepsPosList(ArrayList<Integer> stepsPosList) {
    this.stepsPosList = stepsPosList;
}
 

}

В ЭТОЙ СТРОКЕ ОТОБРАЖАЕТСЯ ОШИБКА : НЕ УДАЕТСЯ РАЗРЕШИТЬ КОНСТРУКТОР ARRAYADAPTER… int,int,ArrayList

         stepsAdapter = new ArrayAdapter<CombineData>(this,R.layout.steps_item,R.id.etStepsDetails,stepsList);
 

Комментарии:

1. Пожалуйста, проясните вашу конкретную проблему или предоставьте дополнительные сведения, чтобы точно указать, что вам нужно. Поскольку это написано в настоящее время, трудно точно сказать, о чем вы просите.

Ответ №1:

вы должны сделать класс POJO

 class CombineData(
    ArrayList<String> stepsList,
    ArrayList<Integer> stepsPosList
)
{
getter()/setter()      
}
 

затем смените адаптер

   stepsAdapter = new ArrayAdapter<CombineData>(this,R.layout.steps_item,R.id.etStepsDetails,stepsList);
 

Теперь вы можете получить доступ в виде списка следующим образом

     item.stepsList
    item.stepsPosList
 

Комментарии:

1. Извините, но я новичок. Я не совсем уверен, как это сделать в полной мере. Можете ли вы показать мне более подробную кодировку? Спасибо

2. Это хороший вариант использования дженериков. Если вы новичок в Java/Kotlin, я бы настоятельно рекомендовал прочитать об этом

3. Я создал класс POJO. но адаптер еще не работает.