두개의 이미지가 있습니다.
이미지를 번갈아 가면서 찍으려고 하는데..
잘 안되네요;;
일단 소스코드는 아래와 같구요..
public void letter_list(){
int today = today_boy;
lv2=(ListView)findViewById(R.id.letter_list);
Item[] item = new Item[2];
for(int i=0;i<2;i++){
item[i] = new Item(today);
additem.add(item[i]);
today = today_girl;
}
i_adapter = new ItemAdapter(this, R.layout.main1_row1, additem);
lv2.setAdapter(i_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;
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);
//flag 초기값은 0으로 되있습니다.
if(flag == 0){icon.setImageResource(R.drawable.i_mini);
Log.i("111111111", "111111111");
}
else if(flag == 1){icon.setImageResource(R.drawable.you_mini);
Log.i("2222222222", "2222222222");
}
flag=1;
if(today_data != null){today_data.setText(i.get_todayData());}
if(today_percent != null){today_percent.setText(i.get_todayData());}
}
return v;
}
}
letter_list 함수를 불러, 처리과정에서 getview가 호출이 되고 flag값을 통해 i_mini이미지와 you_mini 이미지를 번갈아 찍으려고 하는데요... 잘 안되네요;; log값을 찍어보니까 총 4번 호출이 되는데.. 처음에 1111111 값이 찍히고 22222222값이 3번이 찍힙니다..
마지막에 2222222가 3번 찍히는 걸로 봐서는 앞의 1111111에 찍히는 이미지를 덮어씌워주는 것 같은데;;
도무지 getview가 어떤 형식으로 호출이 되고 돌아가는지 감이 잡히질 않습니다..;;
고수분들 도움부탁드립니다..!!



