class SkillAdapter extends BaseAdapter {
LayoutInflater mInflater;
SkillItem Item;
public SkillAdapter(Context context, SkillItem aItem) {
mInflater = (LayoutInflater)context.getSystemService(
Context.LAYOUT_INFLATER_SERVICE);
Item = aItem;
}
@Override
public int getCount() {
// TODO 자동 생성된 메소드 스텁
return Item.Learn.size()+8;
}
@Override
public Object getItem(int position) {
// TODO 자동 생성된 메소드 스텁
return null;
}
@Override
public long getItemId(int position) {
// TODO 자동 생성된 메소드 스텁
return position;
}
public int getViewTypeCount() {
return 4;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO 자동 생성된 메소드 스텁
if(convertView == null) {
int res;
if(position<=6) {
res = R.layout.mlist1;
} else {
res = R.layout.mlist2;
}
convertView = mInflater.inflate(res, parent, false);
}
switch(position) {
case 0:
ImageView image0 = (ImageView)convertView.findViewById(R.id.mlist1_image1);
image0.setImageResource(Item.Icon);
TextView text0 = (TextView)convertView.findViewById(R.id.mlist1_text1);
text0.setText(Item.Name);
text0.setTextSize(20);
break;
case 1:
TextView text1 = (TextView)convertView.findViewById(R.id.mlist1_text1);
text1.setText("[타입] "+Item.Type);
break;
case 2:
TextView text2 = (TextView)convertView.findViewById(R.id.mlist1_text1);
text2.setText("[대상] "+Item.Target);
break;
case 3:
TextView text3 = (TextView)convertView.findViewById(R.id.mlist1_text1);
text3.setText("[필요 무기] "+Item.Weapon);
break;
case 4:
TextView text4 = (TextView)convertView.findViewById(R.id.mlist1_text1);
text4.setText("[시전] "+Item.Casting.get(0));
break;
case 5:
TextView text5 = (TextView)convertView.findViewById(R.id.mlist1_text1);
text5.setText("[재사용] "+Item.Cooltime.get(0));
break;
case 6:
TextView text6 = (TextView)convertView.findViewById(R.id.mlist1_text1);
text6.setText("[설명]\n"+Item.Explain);
break;
case 7:
TextView text7_1 = (TextView)convertView.findViewById(R.id.mlist2_text1);
TextView text7_2 = (TextView)convertView.findViewById(R.id.mlist2_text2);
TextView text7_3 = (TextView)convertView.findViewById(R.id.mlist2_text3);
TextView text7_4 = (TextView)convertView.findViewById(R.id.mlist2_text4);
text7_1.setText("스킬명");
text7_2.setText("습득 레벨");
text7_3.setText("소모 값");
text7_4.setText("사용 효과");
break;
default:
TextView text8_1 = (TextView)convertView.findViewById(R.id.mlist2_text1);
TextView text8_2 = (TextView)convertView.findViewById(R.id.mlist2_text2);
TextView text8_3 = (TextView)convertView.findViewById(R.id.mlist2_text3);
TextView text8_4 = (TextView)convertView.findViewById(R.id.mlist2_text4);
text8_1.setText(Item.Name+" Lv"+Integer.toString(position-7));
text8_2.setText(Item.Learn.get(position-8));
text8_3.setText(Item.Consume.get(position-8));
text8_4.setText(Item.EffectMain);
break;
}
return convertView;
}
}
position 8부터는 1개이상인 여러개의 데이터인데 개수는 가변적이에요...
근데 0~7 일때는 어찌어찌 지저분한 코드로도 되게했는데
8부터는 이상하게되더라구여...
getView 에 재대로 할려면 어떻게 정의해야하죠?