0

MainActivity를 호출 할 때 로딩 효과를 만들고 있습니다. 내 Dialog.show가 AsyncTask에서 작동하지 않는 이유를 모르겠습니다. 내가 그만두 자마자 바로 그 순간을 볼 수 있지만 그 전에는 대화가 나타나지 않습니다. 감사합니다.Dialog.show()가 작동하지 않습니다.

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    new LoadViewTask().execute(); 
    setContentView(R.layout.activity_main); 
....} 



private class LoadViewTask extends AsyncTask<Void, Integer, Void> 
{ 
    @Override 
    protected void onPreExecute() { 
     progressDialog = ProgressDialog.show(MainActivity.this,"Loading...","Loading application View, please wait...", false, false); 

    } 

    @Override 
    protected Void doInBackground(Void... params) 
    { 
     try 
     { 
      synchronized (this) 
      { 
       int counter = 0; 
       while(counter <= 4) 
       { 
        this.wait(1000); 
              counter++; 
        publishProgress(counter*25); 
       } 
      } 
     } 
     catch (InterruptedException e) 
     { 
      e.printStackTrace(); 
     } 
     return null; 
    } 

    @Override 
    protected void onProgressUpdate(Integer... values) 
    { 
     progressDialog.setProgress(values[0]); 
    } 

    @Override 
    protected void onPostExecute(Void result) 
    { 
     progressDialog.dismiss(); 
    } 


} 
+0

코드가 전체 활동 코드를 게시 할 수 있습니다 내 옆 작동된다. –

답변

0

시도 :

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    // Set the content view first 
    setContentView(R.layout.activity_main); 
    new LoadViewTask().execute(); 
....} 
+0

나는 이것을 시도했지만 아직 보이지 않는다. ... –

+0

@DannyHo 내 Android 2.3.3 및 Android 4.1.2 장치에서 코드를 테스트했는데 대화 상자가 나타나고 두 장치에서 올바르게 사라졌습니다. 좀 더 자세한 정보를 주시겠습니까?'MainActivity'의 전체 코드도 될 수 있습니까? –

+0

실제로 테스트 한 결과 Android 2.3.3에서는 제대로 작동하지만 4.1.2에서는 제대로 작동하지 않습니다. 그리고 내 mainactivity에서 상기시켜주는 코드는 HttpPostHandler이며, 이것으로 인해 문제가 발생한다고 생각합니까? –

관련 문제