2012-12-08 3 views
0

그래서 안드로이드 용 문자 메시지 UI를 만듭니다. 메시지 처리 스레드는 메시지를 보내고 새 메시지 스레드를 만든 다음이 메시지를 대화보기의 상응하는 인스턴스에 추가합니다.안드로이드에서 onStart 및 onResume 메서드는 어떻게 작동합니까?

ConverseView는 onCreate (Bundle) 메소드 만있는 활동입니다. 이 메서드는 어댑터를 만들고 ArrayList의 값으로 어댑터를 채 웁니다. 배열 목록은 사용자가 보내기를 누를 때 추가 된 메시지를 가져옵니다. 그러나 이것들은보기에 나타나지 않습니다.

저는 문제가 있다고 생각합니다. 활동이 만들어지고 메시지를 추가하고 ListView가 업데이트되지 않습니다. 어떻게 해결할 수 있을까요?

+0

활동주기에 대한 문서를 참조하십시오. http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle 특히 작업 방법 및 해결 방법을 보여주는 다이어그램 사본을 인쇄하십시오 컴퓨터 화면 옆 벽에. ;) – Squonk

답변

1

ArrayList으로 백업 된 ArrayAdapter adapter;을 사용하십시오. ArrayList를 수정 한 후 목록의 데이터를 업데이트하려면 adapter.notifyDataSetChanged()을 호출하십시오.

0

Look here 자세한 내용은 수명주기를 참조하십시오.

기본적으로 활동 시작 후 onStart(Bundle state)이 호출됩니다. 이것은 활동이 살아 있고 a) 응용 프로그램 및 b) Android 자체에 응답 함을 의미합니다.

onResume(Bundle state)은 화면에 활동이 곧 표시됨을 의미합니다. 이것은 당신이해야 할 모든 UI를 마무리해야하는 곳입니다.

데이터가 나타나지 않으면 Adapter.notifyDataSetChanged()으로 전화하여 어댑터를 다시 그려야합니다. 이 호출없이 어댑터가 그래픽으로 업데이트되지 않습니다.

+0

내 코드를 추가했습니다. –

관련 문제