Все же я предложи написать свой кастомный адаптер.
Что касается двух ArrayList, то я вам предложу сделать свой объект, который будет содержать нужные данные.
Н-р:
public class CustomObject
{
private String firstValue;
private String secondValue;
}
где каждый объект содержит i-e строки из обоих ArrayList.
Затем
//создаете вот такой layout
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<?xml version="1.0" encoding="utf-8"?>
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orietation = "horizontal"
>
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</ImageView>
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
</TextView>
</LinearLayout>
//затем наследуетесь от ArrayAdapter указав в что в нем будут содержаться ваши кастомные объекты
public class CustomArrayAdapter extends ArrayAdapter<CustomObject>
{
private final LayoutInflater inflater;
public CustomArrayAdapter(final Context context, final int textViewResourceId, final ArrayList<CustomObject> objects)
{
super(context, textViewResourceId, objects);
inflater = LayoutInflater.from(context);
}
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
if(convertView = null)
{
//инфлэйтите созданный выше layout
convertView = inflater.inflate(R.layout.you_layout_with_two_text_view,null);
final ViewHolder holder = new ViewHolder();
holder.textView1 = (TextView)convertView.findViewById(R.id.textView1);
holder.textView2 = (TextView)convertView.findViewById(R.id.textView2);
convertView.setTag(holder);
}
//ViewHolder - это искуственный прием, чтобы ускорить работу ListView при прокрутке.
//Для эксперимента, можете попробовать создавать
//каждый раз новое View и посмотрите что будет на большом колличестве элементов
final ViewHolder holder = (ViewHolder)convertView.getTag();
final CustomObject customObj = getItem(position);
holder.textView1.setText(customObj.getFirstValue())
holder.textView2.setText(customObj.getSecondValue());
return convertView;
}
private class ViewHolder
{
public TextView textView1;
public TextView textView2;
}
}
все, адаптер готов, можно пихать в него данные и отправлять в ListView