2011-08-14 6 views
0

안드로이드 애플리케이션에 ProgressDialog을 간단하게 선언했지만 표시되지 않습니다. 여기에 내 인스턴스가있다 :ProgressDialog가 표시되지 않습니다.

ProgressDialog pDialog = new ProgressDialog(MyActivity.this, ProgressDialog.STYLE_SPINNER); 
pDialog.setMessage("Logging in..."); 
pDialog.show(); 

나는 안드로이드 개발에 새로 입문했지만 자바는 아니다. 아무도 내가 잘못하고있는 것을 보지 못했습니까?

UPDATE는
그것은 대화 상자를 닫하도록되어 블록에, 이상해, 내가 콘텐츠보기 스위치가, 내가 해고를 주석 경우 대화 상자가 실제로 콘텐츠 전환 한 후에 표시됩니다. 여기에 블록이 있습니다 :

if(writeSuccess){ 
    Toast.makeText(getApplicationContext(), "Login Success!", Toast.LENGTH_SHORT).show(); 
    pDialog.dismiss(); 
    setContentView(R.layout.auth); 
} 
+0

더 많은 코드를 사용할 수 있습니까 (예 :이 코드는 어디에 있습니까 ...)? – MByD

+0

메인 액티비티 클래스 – nkcmr

+0

바로 아래에있는 '공용'인증 방법에 있습니다. 지리적 위치가 너무 도움이되지 않습니다. 메인 스레드에서 실행 중입니까? 그것은 루프에서 실행 중입니까? – MByD

답변

1

이렇게되어야합니다.

ProgressDialog pDialog = ProgressDialog.show(MyActivity.this, "MY Dialog", "Please wait..."); 

이 한 줄로도 ProgressDialog가 있습니다.

0

getApplicationContext()로 MyActivity.jis를 바꾸어보십시오. 그래도 작동하지 않는다면 대화 상자를 열어야 할 때 logcat에 무엇이 있습니까?

+0

'getApplicationContext()'메소드를 통해 내 앱을 참조 할 때 실제로 치명적인 예외가 발생합니다. 'ProgressDialog'를 표시하려 할 때 throw되는 IllegalStateException입니다. – nkcmr

1

이 코드가 MyActivity 클래스 내에 있지 않으면 MyActivity.this을 해결할 수 없습니다. 당신이 onCreate이 다음 상황에 맞는 참조 (MyActivity.this)이 올바르지 않게 활동에서 호출되기 전에 대화 상자를 만들려고하는 경우

는 또한, 즉, progress dialogs을 만들기위한 적절한 context이 필요합니다.

관련 문제