안드로이드 개발 질문/답변
(글 수 45,052)
setting ->
wi-fi settings 에서처럼 체크박스 선택이 안되어 있으면
아래의 리스트 아이템은 회색으로 disable 처리 되어 있는 것을 구현하고 싶습니다.
그래서 BaseAdapter 를 커스터마이징해서 isEnabled override 해서
특정 포지션 아이템을 enable false 처리하고 areAllItemsEnabled 함수도 false return 하도록 했습니다.
이렇게 했더니 특정 포지션에 해당하는 아이템이 disable 되기는 하는데,
포지션도 가지 않고 디바이더까지 사라집니다.
getView 에서 전달받은 convertView 를 setEnabled(false) 처리 해도 disable 되지 않는데
어떻게 하면 wifi settings의 리스트같은 모습을 만들 수 있을까요?
wi-fi settings 에서처럼 체크박스 선택이 안되어 있으면 아래의 리스트 아이템은 회색으로 disable 처리 되어 있는 것을 구현하고 싶습니다.
그래서 BaseAdapter 를 커스터마이징해서 isEnabled override 해서
특정 포지션 아이템을 enable false 처리하고 areAllItemsEnabled 함수도 false return 하도록 했습니다.
이렇게 했더니 특정 포지션에 해당하는 아이템이 disable 되기는 하는데,
포지션도 가지 않고 디바이더까지 사라집니다.
getView 에서 전달받은 convertView 를 setEnabled(false) 처리 해도 disable 되지 않는데
어떻게 하면 wifi settings의 리스트같은 모습을 만들 수 있을까요?
2010.10.25 18:13:51
public View getView(int position, View convertView, ViewGroup parent)
알고 있는 지식으로는 adapter의 아이템 갯수 만큼 getView가 호출되는 걸로 알고 있습니다.
그래서 convertView를 따로 만들어둔 레이아웃으로 inflate해서 주던가 아니면 동적으로 생성해서 주시면 됩니다.
그래서 전
if(convertView == null) {
convertView = (LinearLayout)mInflater.inflate(R.layout.memo_memoitem, null);
i = new ContentListItemContainer();
i.mContentTitle = (TextView) convertView.findViewById(R.id.TextView_MemoTitle);
i.mContentTimestamp = (TextView) convertView.findViewById(R.id.TextView_MemoTimestamp);
convertView.setTag(i);
}
else
i = (ContentListItemContainer)convertView.getTag();
i.mTestText.setText(mContents[position].getTestText());
if(mContents[position].getIsAvalable()) { i.mTestText.setTextColor(new Color(???));
}
return convertView;



