현재 작업에 대한 this
참조를 사용하는 대신 getBaseContext()
에서 반환 된 컨텍스트로 TimePickerDialog
을 초기화하면 예외가 throw되는 시간 선택기가있는 대화 상자를 표시 할 때이 문제가 발생했습니다. . 그래서이 코드는 괜찮 :대화 상자를 표시 할 때 오류가 발생했습니다
@Override
protected Dialog onCreateDialog(int id)
{
return new TimePickerDialog(this , mTimeSetListener, hr, min, false);
}
하지만 그때
Toast.makeText(getBaseContext() , ...
을 사용 축배를 표시하려면이 또한 작동하면이 코드는 예외를
protected Dialog onCreateDialog(int id)
{
return new TimePickerDialog(getBaseContext(), mTimeSetListener, hr, min, false);
}
가 발생합니다.
내 질문은 대화 상자에서 표시 할 대화 상자가 baseContext
이 될 것이라고 생각했을 것입니다. 왜이 토스트 작업을 사용하지만 대화 상자에 "this", 즉 현재 활동에 대한 참조가 필요합니다. 그들은 그들이 일하는 방식이 매우 유사하다고 생각했을 것입니다.