2013-08-08 2 views
0

사용자가 DatePickerDialog를 통해 날짜를 입력 한 후 내 디스플레이를 업데이트하기 위해 onResume()을 호출했습니다. 이 작동합니다. 그러나 새 버전에서는 DatePickerFragment를 사용하고 있으며 더 이상 작동하지 않습니다.DatePickerFragment에서 onResume()을 활성화 할 수 없습니다.

public void onDateSet(DatePicker view, int year, int month, int day) 
{ // Do something with the date chosen by the user 
    userSetYear=year; 
    userSetMonth=month; 
    userSetDay=day; 
    userSetDate=true; 
    onResume(); //activates the wrong onResume, has no affect on display 
    //MainActivity.onResume();//error message : Cannot make a static reference to   the  non-static method onResume() from the type MainActivity 
} 

답변

0

onResume() 메소드는 사용자가 호출하면 안되며, 활동 자체의 라이프 사이클에 관한 것입니다. 하지만 여기에 대한 링크가 있습니다 : Calling onResume in Android's activity

또한 Android의 라이프 사이클 관리에 대해 읽어보십시오. http://developer.android.com/training/basics/activity-lifecycle/index.html

+0

글쎄, 그것은 내가 분별할 수있는 방향으로 나를 가리 키지 않는다. 그러므로 나는 왜 그 답이 제공되었는지 알지 못한다. – user1644002

+0

단지 뷰 갱신을 위해 라이프 사이클 메소드를 호출하는 것은 좋은 접근 방법이 아니므로 더 나은 이해를 위해 유용한 링크를 제공하고자했습니다. 어쩌면 내가 미안하다고 말 했어야했는데. – Canberk

+0

좋습니다, 어쨌든, 코드의 마지막 두 줄을 비교하여 명확한 기술적 인 문제가 있습니다. 내가 권장하는 접근법을 알고 있다면 onResume()을 분해해서 기뻐할 것이다. 그러나 내가 한 경우에도 onDateSet()의 조각 버전에서 호출하여 원래의 문제가 남아 있다고 생각합니다. – user1644002

관련 문제