BaseAdpater が行うことは、AbsListView に必要なコールバックを固めることだけです。ArrayAdater は、項目のリストを TextView に自動拡張する、より包括的なアダプターです。
あなたの状況では、BaseAdapter を拡張することをお勧めします。
class MyAdapter extends BaseAdapter {
Vector<String> names;
Vector<String> nicks;
public MyAdapter(Vector<String> nms, Vector<String> nks) {
if (nms.size() != nks.size())
throw new RuntimeException("oops! Wrong sizes for vectors");
name = nms;
nicks = nks;
}
@Override
public int getCount() {
return names.getSize() && nicks.getSize();
}
@Override
public String getItem() {
// Can't really implement with two vectors.
return null;
}
@Override
public getView(int pos, View convert, ViewGroup mommy) {
LinearLayout ll = (LinearLayout)convert;
if (ll == null)
// Inflate the linear layout - preferrably from resources
ViewHolder vh = (ViewHolder)ll.getTag();
if (vh == null)
// Inflate ViewHolder
vh.tvname.setText(names.get(pos));
vh.tvnick.setText(nicks.get(pos));
return ll;
}
class ViewHolder {
TextView tvname, tvnick;
}
}