Custom ListView

박승현·2022년 4월 21일
0

안드로이드

목록 보기
4/4

문제)

1. List 항목 Data
2. List 항목 layout
3. MyAdapter


0.레이아웃 배치 및 설정

scaleType > center 상태에서 조절하면 이미지가 잘린다
scaleType > firCenter 상태에서 조절하면 가능!


③ 레이아웃의 크기 조절
wrap_content로 줄여줘야 list의 여러 항목이 한 화면에 나온다

1.ContactVO

레이아웃에 보여질 데이터셋이 필요 데이터셋은 하나의 데이터가 아닌 여러 개의 값이 들어가있음
이미지,텍스트 다 아우르는 타입은 없기 때문에 하나를 만들어줘야함
데이터를 저장할 클래스 > contactVo를 만든다!

2.ContactActivity

listView 배치

3. ContactAdapter

public class ContactAdapter extends BaseAdapter {


   //1.생성자 선언
   Context context;
   int layout;
   //여러 개의 데이터를 받으니까 어레이
   //정의한 연락처정보들을 담은 vo니까 contactVO
   ArrayList<ContactVO> list;
   //xml파일 ->view 객체로 변환해주는 객체 
   LayoutInflater inflater;
   
   //생성자


   public ContactAdapter(Context context, int layout, ArrayList<ContactVO> list) {
       this.context = context;
       this.layout = layout;
       this.list = list;
       //인플레이터 객체는 초기화까지 같이 넣어서 진행
       this.inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
   }

   @Override
   public int getCount() {
       //데이터의 갯수 리턴
       return list.size();
   }

   @Override
   public Object getItem(int i) {
       //i는 인덱스 역할
       return list.get(i);
   }

   @Override
   public long getItemId(int i) {
       return i;
   }

   @Override
   public View getView(int i, View view, ViewGroup viewGroup) {
       //매개변수는 3개 
       //i는 인덱스 역할 view는 아이템 레이아웃에 대한 정보를 보관
       //그룹은 리스트 어댑터
       return null;
   }
   
}
}
  • extends BaseAdapter
  • alt+enter후, 추상메소드 구현

1개의 댓글

comment-user-thumbnail
2022년 4월 21일

굿

답글 달기