일단 아래는 주요 소스코드입니다.
public void today_letter_list(){
int today = today_boy;
int month = month_boy;
lv_today=(ListView)findViewById(R.id.letter_list_today);
Item[] item_today = new Item[2];
for(int i=0;i<2;i++){
item_today[i] = new Item(today,month);
today_additem.add(item_today[i]);
today = today_girl;
}
today_adapter = new ItemAdapter(this, R.layout.main1_row1, today_additem);
lv_today.setAdapter(today_adapter);
}
public void month_letter_list(){
int today = today_boy;
int month = month_boy;
lv_month =(ListView)findViewById(R.id.letter_list_month);
Item[] item_month = new Item[2];
for(int i=0;i<2;i++){
item_month[i] = new Item(today, month);
month_additem.add(item_month[i]);
month = month_girl;
}
month_adapter = new ItemAdapter(this, R.layout.main1_row1, month_additem);
lv_month.setAdapter(month_adapter);
}
class ItemAdapter extends ArrayAdapter<Item> {
public ArrayList<Item> items;
public ItemAdapter(Context context, int textViewResourceId, ArrayList<Item> items) {
super(context, textViewResourceId, items);
this.items = items;
}
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
Log.i("5555555","5555555");
if(v == null){
LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.main1_row1, null);
}
Item i = items.get(position);
if(i != null){
TextView today_data = (TextView)v.findViewById(R.id.today_data);
TextView today_percent = (TextView)v.findViewById(R.id.today_percent);
ImageView icon = (ImageView)v.findViewById(R.id.icon);
count++;
if(count == 3 || count == 7){icon.setImageResource(R.drawable.i_mini);
Log.i("111111111", "111111111");
}
else if(count == 4 || count == 8){icon.setImageResource(R.drawable.you_mini);
Log.i("2222222222", "2222222222");
}
if(count == 3 || count == 4){
if(today_data != null){today_data.setText(i.get_todayData());}
if(today_percent != null){today_percent.setText(i.get_todayData());}
}else if(count == 7 || count == 8){
if(today_data != null){today_data.setText(i.get_monthData());}
if(today_percent != null){today_percent.setText(i.get_monthData());}
}
if(count == 8){count=0;}
}
return v;
}
}
소스코드는 이렇구요,
today_letter_list 메소드와 month_letter_list 메소드를 불러서 한페이지에 있는 두개의 리스트뷰에 뿌리려고 하고 있습니다.
근데 분명 하나의 리스트뷰에 뿌릴 때는 값이 제대로 들어가서 적용이 되는데요, 두 메소드를 불러서 리스트뷰에 뿌려보면 한쪽에는 값이 들어가있지 않고 xml상에 작성된 코드만 모습으로 보입니다.
getview에 count를 사용한 이유는 두줄의 row를 뿌리는데 getview가 총 4번이 호출이 되서 count값이 3,4일경우 해당 이미지를 뿌려준 거구요, 또 다른 리스트뷰에 count값이 7,8일때 해당 이미지를 뿌려주었습니다.
메소드 하나로 하나의 리스트뷰에 뿌릴경우에는 제값이 잘 나오는데 리스트뷰 2개에 뿌리게되면 값이 안들어가는 이유를 도무지 모르겠네요..;;
혹시 이와 같은 코드를 작성해보신 분이나 알고계신분은 도움부탁드립니다..;;



