#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. но адаптер еще не работает.