Я бы сказал, что самым простым подходом было бы объединить ваши три отдельных массива в один массив объектов, содержащих одинаковые данные. Другими словами, создайте объект-сущность с тремя атрибутами: title, imageUrl и link.
class XMLEntity {
String title, imageUrl, link;
// add contructor, getters and setters to your own liking...
}
...
XMLEntity[] objects = ...
Затем вы передаете этот массив объектов конструктору адаптера, и в методе getView вы можете установить TextView, ImageView и другие элементы пользовательского интерфейса на основе данных в XMLEntity.
public LazyAdapter(Activity a, XMLEntity[] objects) {
//...
}
public View getView(int position, View convertView, ViewGroup parent) {
// ... convertview stuff
XMLEntity current = objects[position]
someTextView.setText(current.getTitle());
imageLoader.DisplayImage(current.getImageUrl(), someImageView);
}
Если вы идете по этому пути, я бы также взглянул на ArrayAdapter, который упрощает для вас некоторую логику BaseAdapter.
// Edit: если вам нравится быстрое и грязное решение: переместите реализацию адаптера как подкласс в действие, содержащее ваш ListView, и просто заставьте его работать с тремя массивами, которые у вас есть в данный момент - при условии, что они здесь сохраняются и индексы «совпадают» для всех трех массивов.
public View getView(int position, View convertView, ViewGroup parent) {
// ... convertview stuff
someTextView.setText(titleArray[position); // get title from titleArray
imageLoader.DisplayImage(imageurlArray[position], someImageView); //get image url from imageurlArray
}