이전글 필요 한 사람.
2012/02/08 - [Android Study] - Android custom list 만들기 + separate 넣기 1편
2012/02/08 - [Android Study] - Android custom list 만들기 + separate 넣기 2편 

 
자 이제 요롷게 구분선을 하나 넣을 계획 임. (1, 2편 모르면 말짱 황임!! 황!!)
이힛~ 
이제 부터 1편에 있던 java source를 수정 합니다.
수정은  IconAdapter class 만 합니다.
 


기존 code
      @Override
        public int getCount() {
            return mIconArrayList.size();
        }

 수정 code
        @Override
        public int getCount() {
            return mIconArrayList.size() + 1;
        } 


기존 code
 @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            if (convertView == null) {
                convertView = getLayoutInflater().inflate(R.layout.icon_list_item, parent, false);
            }

            Iconinfo info = mIconArrayList.get(position);
            ((TextView) convertView.findViewById(R.id.text1)).setText(info.text);
            ((ImageView) convertView.findViewById(R.id.icon)).setImageResource(info.icon);
            return convertView;
        }

수정 code
@Override
        public View getView(int position, View convertView, ViewGroup parent) {
            if (convertView == null) {
                convertView = getLayoutInflater().inflate(R.layout.icon_list_item, parent, false);
            }

            if (position == SEPARATE_POSITION) {
                ImageView iamge = new ImageView(AndroidListActivity.this);
                iamge.setScaleType(ScaleType.FIT_XY);
                iamge.setImageResource(android.R.drawable.title_bar);
                convertView = iamge;
            } else {
                convertView = getLayoutInflater().inflate(R.layout.icon_list_item, parent, false);
                Iconinfo info = mIconArrayList.get(getRealPosition(position));
                ((TextView) convertView.findViewById(R.id.text1)).setText(info.text);
                ((ImageView) convertView.findViewById(R.id.icon)).setImageResource(info.icon);
            }
            
            return convertView;
        }
 

추가 code
        private static final int SEPARATE_POSITION = 3;
        private int getRealPosition(int position) {
            if (position < SEPARATE_POSITION) {
                return position;
            } else {
                return position-1;
            }
        }

정상적으로 잘 되었다면 저~어기 위에 그림처럼 될꺼임~
근데 여기 까지하고 click event 물리면 대략 난감한 상황이 발생 할꺼임 그건 담편에!! 

+ Recent posts