SUMMARY
커스텀 리스트뷰를 만들기위해서는
Item xml을 정하고
리스트 뷰를 띄울 fragment를 만들고
BaseAdepter을 상속받은 클래스를 통하여 이 둘을 연결시켜 준다.
또한 BaseAdepte에서는 getView getCount getItemId를 각각 overriding해서 정의 해주어야 한다.
getView는 화면에 띄울 아이템의 메소드를 정의하고,
getCount에서는 아이템의 개수를
getItemId에서는 아이템의 position을 리턴해주게 만들면 된다.
그리고 이 클래스 안에 InnerClass를 정의하여 이를 ArrayList로 만들어서 사용하면 편리하다.
사용법
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | public class Control_listAdepter extends BaseAdapter { public class ListViewItem { ... } private ArrayList<ListViewItem> listViewItemList = new ArrayList<ListViewItem>() ; @Override public int getCount() { return listViewItemList.size() ; } @Override public View getView(int position, View view, ViewGroup parent) { final Context context = parent.getContext(); if (view == null) { LayoutInflater inflater = (LayoutInflater) context .getSystemService(Context.LAYOUT_INFLATER_SERVICE); view = inflater.inflate(R.layout.control_item, parent, false); } /*화면에 표시할 부분을 입력해 주는 .*/ return view; } @Override public long getItemId(int position) { return position ; } @Override public Object getItem(int position) { return listViewItemList.get(position) ; } } | cs |
'Programming > Android' 카테고리의 다른 글
DialogFragment (0) | 2016.09.24 |
---|---|
ListView에 각각 Seekbar 넣기 (0) | 2016.09.24 |
ListFragment (0) | 2016.09.24 |
ScrollView (0) | 2016.09.15 |
xml 경계선 (0) | 2016.09.15 |