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

+ Recent posts