우선 BaseAdapter 개념으로 작업을 해봤는데 안더더군요 ㅠ,ㅠ
아래 기본으로 한 작업은 내용이 잘 출력됩니다..
(cursor는 DBUtil로 잘받아왔습니다)

SimpleCursorAdapter Adapter = null;
Adapter = new SimpleCursorAdapter( this,
R.layout.custom_list,
cursor,
new String[] {"txt","base_txt"},
new int[] { R.id.custom_list_txt,R.id.custom_list_base_txt}
);   

그런데 위 에서 layout을 종류에 따라 다르게 보여야되서 SimpleCursorAdapter 를 좀 바꿔보았습니다.

public class CustomList extends SimpleCursorAdapter {
private final String logTag = "HANJA";
private Context context;
private LayoutInflater inflater;
private int layout; 
public CustomList(Context context, int layout, Cursor c, String[] from,int[] to) {
super(context, layout, c, from, to);
// TODO Auto-generated constructor stub
this.context = context;
this.layout = layout;
inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
static class ViewHolder{
TextView txt;
TextView base_txt;
}
   
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
//return super.getView(position, convertView, parent);
ViewHolder holder;
if(convertView == null){
convertView = inflater.inflate(layout,parent,false);
holder = new ViewHolder();
holder.txt = (TextView) convertView.findViewById(R.id.custom_list_txt);
holder.base_txt = (TextView) convertView.findViewById(R.id.custom_list_base_txt);
}else{
holder = (ViewHolder) convertView.getTag();
}
Cursor cursor = getCursor();

int nameCol = cursor.getColumnIndex("txt");
String name = cursor.getString(nameCol);
Log.d(logTag,"Cursor : "+nameCol+" : "+name);

return convertView;
}



신기하게 위에 nameCol에서는 1을 반환합니다.
그러나 cursor.getString(1)을 하면 에러가 납니다.
layout변환코드는 우선 제대로 작동조차 안되서 제거된상태구요 holder패턴만 적용되있습니다.

CustomList Adapter = null;
Adapter = new CustomList( this,
R.layout.custom_list,
cursor,
new String[] {"txt","base_txt"},
new int[] { R.id.custom_list_txt,R.id.custom_list_base_txt}
);

작업후 위에 처럼 쓴느데 이부분에서도 좀 의문이
벌써 cursor을 구할때 컬럼을 배열을 다 넣었는데 
위 String[],int[]배열이 구지 필요한지... 
customList에서 getView(int position, View convertView, ViewGroup parent) 에서 layout을 개별 로드해서
cursor와 뿌릴 객체 맵핑작업을 하는데..

아무튼 우선은 기본 동작이 안됩니다.
왜인가요?


E/AndroidRuntime( 5393): android.database.CursorIndexOutOfBoundsException: Index -1 requested, with a size of 5992
E/AndroidRuntime( 5393):        at android.database.AbstractCursor.checkPosition(AbstractCursor.java:580)
E/AndroidRuntime( 5393):        at android.database.AbstractWindowedCursor.checkPosition(AbstractWindowedCursor.java:214
)
E/AndroidRuntime( 5393):        at android.database.AbstractWindowedCursor.getString(AbstractWindowedCursor.java:41)
E/AndroidRuntime( 5393):        at packageName.CustomList.getView(CustomList.java:49)
E/AndroidRuntime( 5393):        at android.widget.AbsListView.obtainView(AbsListView.java:1315)
E/AndroidRuntime( 5393):        at android.widget.ListView.makeAndAddView(ListView.java:1727)
E/AndroidRuntime( 5393):        at android.widget.ListView.fillDown(ListView.java:652)
E/AndroidRuntime( 5393):        at android.widget.ListView.fillFromTop(ListView.java:709)
E/AndroidRuntime( 5393):        at android.widget.ListView.layoutChildren(ListView.java:1580)
E/AndroidRuntime( 5393):        at android.widget.AbsListView.onLayout(AbsListView.java:1147)
....