안드로이드 개발 질문/답변
(글 수 45,052)
CursorAdapter를 상속해서 커스텀 어댑터를 만들었습니다. 그리고 특정 몇번째 아이템을
다른 속성을 지정하려고 합니다.
private TextView mDate,mTime,mTitle; private static int tagNum=0;
@Override public void bindView(View view, Context context, Cursor cursor) { mTitle = (TextView) view.findViewById(R.id.row_title); mDate = (TextView) view.findViewById(R.id.row_date); mTime = (TextView) view.findViewById(R.id.row_time); if(tagNum==4) { mTitle.setMaxLines(10); mTitle.setText("구구구"); ToggleButton toggleBtn = (ToggleButton)view.findViewById(R.id.row_toggle); toggleBtn.setChecked(true); tagNum++; // toggleBtn.setTag(""+tagNum, ""); }else { mTitle.setMaxLines(1); mTitle.setText(cursor.getString( cursor.getColumnIndexOrThrow(NotesDbAdapter.KEY_TITLE))); mDate.setText(cursor.getString( cursor.getColumnIndexOrThrow(NotesDbAdapter.KEY_DATE))); mTime.setText(cursor.getString( cursor.getColumnIndexOrThrow(NotesDbAdapter.KEY_TIME))); } tagNum++; }
@Override public View newView(Context context, Cursor cursor, ViewGroup parent) { LayoutInflater inflater = LayoutInflater.from(context); View view = inflater.inflate(R.layout.notes_row, parent, false); return view; }
이렇게 했는데 잘 안되네요.. tagNum ==4 에 있는 부분을 읽고 지나가도
저 부분은 무시되고 그냥 리스트 뷰에 뿌려주는데.. 무엇이 잘 못된건지 잘 모르겠습니다. ㅠㅠ
감사합니다~
즐거운 하루 보내세요~
일반 Adapter 에서는 getView에서 position 에 따라서 view 를 바꿔거나 속성을 바꿔주면 정상적으로 동작합니다;ㅁ;