마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

리스트뷰의 맨 마지막 줄로 스크롤 내리기.. [closed]

+1 추천
while (cursor.moveToNext()) 
{
				

			data = new ExamData((int)0,cursor.getString(1), cursor.getString(2),cursor.getString(4));
			// 어댑터에 데이터를 추가한다.
			m_adapter.add(data);
				
}//while
cursor.close();
//마지막 포지션으로 리스트뷰 스크롤하기.smoothScrollToPosition
m_list.smoothScrollToPosition(m_adapter.getCount() - 1);

 

 

//ExamData 클래스
	public class ExamData 
	{
		// public byte type = 0;
		
		public int type = 0;
		public String data0 = null;
		public String data1 = null;
		public String data2 = null;
		
		public ExamData(int parm_type,String parm_data0, String parm_data1, String parm_data2) {
			// type = parm_type;
			type = parm_type;
			data0 = parm_data0;
			data1 = parm_data1;
			data2 = parm_data2;
		}
	}

 

onCreate 부분에서 DB의 처음부터 끝까지의 데이터 값을 출력하고 있습니다.

일단 데이터 자체는 출력이 잘 되는데, 데이터가 많아질 수록..이 스크롤하는게 보일정도로 느려지네요.

앱을 시작하면 딱 마지막 문구를 보이고 싶은데, 

m_adapter.add(data); 어댑터에 데이터를 저장하고 출력하는 부분에서 느려지는건지..;

인터넷소스를 참고해서 제가 원하는 레이아웃/기능을 구현중인데.. 이 스크롤부분을 어떻게 해결해야 할까요?

 

질문을 종료한 이유: 자답입니다.
anci (19,950 포인트) 님이 2015년 2월 6일 질문
anci님이 2015년 2월 6일 closed
m_adapter.notifyDataSetChanged();
m_list.setSelection(m_adapter.getCount()-1);

이렇게 하면 되네요.
구글링해보니, setSelection뒤에 notifyDatasetChanged를 사용하면 스크롤이 내려가지 않을 수도 있다고합니다.
...