ListView Custom 기본코드

개발/안드로이드 2017. 9. 15. 14:41
반응형

안드로이드 ListView를 개발하다 보면 다 외울 수 가 없어 기존에 작성된 코드를 찾아서 복사 한 후 수정을 하게 됩니다.

(저만 그런가요? 제가 좀 부족한가 봅니다. ㅜ.ㅡ)

IOS 랑 같이 작업하다보니 자주 까먹고 찾아다니느라 보내는 시간이 아깝고 뜯어 고치기 도 힘들어서 기본 코드를 올려봅니다.

작업 시 기타 중요 포인트나 추가사항이 발생시 수정하도록 하겠습니다.


기본코드 (Custom ListView)

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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
private ListView m_ListView = null;
private AdapterCustomList m_oAdepter = null;
 
@Override
protected void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
 
    String strDataString = "start|하나|둘|셋|넷|다섯|여섯|일곱|여덜|아홉|열|end";
    String[] strData = strDataString.split("\\|");
 
    m_oAdepter = new AdapterCustomList(strData);
    m_ListView = (ListView) this.findViewById(R.id.listDirectory);
    m_ListView.setAdapter(m_oAdepter);
}
 
private class AdapterCustomList extends BaseAdapter
{
    LayoutInflater inflater = null;
    public String[] m_oData = null;
    private int nListCnt = 0;
 
    public AdapterCustomList(String[] _oData)
    {
        m_oData = _oData;
        nListCnt = m_oData.length;
    }
 
    @Override
    public int getCount()
    {
        Log.i("Tag""Count: " + nListCnt);
        return nListCnt;
    }
 
    @Override
    public Object getItem(int position)
    {
        return null;
    }
 
    @Override
    public long getItemId(int position)
    {
        return 0;
    }
 
    @Override
    public View getView(int position, View convertView, ViewGroup parent)
    {
        if (convertView == null)
        {
            final Context context = parent.getContext();
            if (inflater == null)
            {
                inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            }
            convertView = inflater.inflate(R.layout.adapter_directory_name, parent, false);
        }
 
        TextView oTV_Name = (TextView) convertView.findViewById(R.id.directory_name);
        oTV_Name.setText(m_oData[position]);
 
        return convertView;
    }
}
cs


기본 메소드

갱신하기

notifyDataSetChanged



일단 이정도로 마무리하고 뷰홀더(ViewHolder) 등은 작업하게 되면 차차 작성하도록 하겠습니다.


반응형
admin