달성하고자하는 설명에서 이해하기 쉽지 않습니다. BaseAdapter 클래스를 확장해야하므로 사용자의 요구에 쉽게 적응할 수 있습니다. 이 방법이 유용 할 것입니다.
public class CursorAdapterTwo extends BaseAdapter{
private final Context context;
LayoutInflater layoutInflater;
String[] dataTypes;
Cursor cursor1;
Cursor cursor2;
public CursorAdapterTwo(Context context, Cursor cursor1, Cursor cursor2) {
this.context = context;
this.cursor1 = cursor1;
this.cursor2 = cursor2;
layoutInflater = LayoutInflater.from(context);
}
static class ViewHolder {
TextView textView;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder viewHolder;
cursor1.moveToPosition(position);
if((position % 5) == 0)
{
cursor2.moveToPosition(position/5);
}
if (convertView == null) {
convertView = layoutInflater.inflate(layout.list_item, parent, false);
viewHolder = new ViewHolder();
viewHolder.textView = (TextView) convertView.findViewById(id.text_view);
convertView.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) convertView.getTag();
}
String columnType = dataTypes[position];
viewHolder.textView.setText("New text");
return convertView;
}
@Override
public int getCount() {
if (cursor1 != null) {
return cursor1.getCount() + cursor2.getCount();
} else {
return 0;
}
}
@Override
public Object getItem(int position) {
if (cursor1 != null) {
cursor1.moveToPosition(position);
return cursor1;
} else {
return null;
}
}
@Override
public long getItemId(int position) {
return position;
}
}
커서 1에서 5 개 항목에 대해 cursor2에서 1 개 항목을 원한다고 생각합니다. 그게 맞습니까? – vovahost
커서 1의 5 개 항목마다 예, 커서 2의 1 개 항목을 삽입하려고합니다. –