안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요 초보 개발자입니다.
급한 ㅜㅜ 질문좀 드립니다.
기본적으로 BaseAdapter를 상속받아 커스텀한 어답터를 만들고 었고 그것을 사용해
리스트 뷰에 리스트 나오는거 까지 실행 했습니다.
그리고 더보기 버튼을 addFooterView()를 사용해서 더보기 버튼도 만들었습니다.
여기서 더보기 버튼을 클릭할 시 하단에 새로운 리스트를 붙여야되는데.
추가하는 메서드가 있나 자료를 좀 찾다가어답터에 add()를 사용해서 넣어야한다고 해서 봤는데
add()는 ArrayAdapter에 있는거라 사용이 안되더라고요.
그래서 나머지 부분을 읽어와서 기존의 자료와 합친후 다시 리스트를 만들고 스크롤리스너를 걸어놓고
마지막에 보여주는 화면의 처음아이템을 읽어와서 새로 만든 리스트의 setSelection()을 사용해서
그 위치로 이동을 했는데 역시, 원하는 만큼 잘나오지 않았습니다.
리스트를 추가했을 시 그자리에 멈취있는거 처럼 보여주고 싶은데..상속받는 아답터를 바꺼서 다시 구현하는 것이
좋을까요? 아니면....다른 좋은 생각있으시면 좀 알려주세요.
2010.11.12 20:50:01
(추천:
1 / 0)
BaseAdapter를 상속받아서 커스텀 Adapter를 만드셨으면
그 Adapter에 데이터는 어떻게 넣어주셨는지요?
저같은 경우는 Adapter에 리스트들을 만들어놓고
addItem이라는 메서드를 만들어서 추가합니다.
예를 들어, 전화번호를 출력한다고 하면 Adapter에는
private List<String> numberList = new ArrayList<String>();
private List<String> nameList = new ArrayList<String>();
같이 만들어놓고
public void addItem(String number, String name){
numberList.add(number);
nameList.add(name);
}
이런식으로 한뒤에
원래 Activity에서 addItem을 하고
adapter.notifyDataSetChanged(); 를 호출하여 리스트에 아이템이 추가된 것을 알립니다



