2016-04-08 7 views
-3

ich den folgenden Code verwenden Fortschritt zu zeigen Dialog auf einem Textview auf klicken:ProgessDialog wird nicht sofort angezeigt auf einem Textview klicken

contacts.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      dialog = new ProgressDialog(GroupChatActivity.this); 
      dialog.setMessage("Loading Contacts..."); 
      dialog.show(); 
      Toast.makeText(getApplicationContext(), "Contacts Clicked", Toast.LENGTH_SHORT).show(); 
      popupWindow.dismiss(); 
      ArrayList<Bean_PhoneNumbers> listBeanPhone = getContactsFromPhone(); 
      Intent intent = new Intent(GroupChatActivity.this, PhoneBookActivity.class); 
      //intent.putExtra("listBeanPhone", listBeanPhone); 
      intent.putParcelableArrayListExtra("listBeanPhone", listBeanPhone); 
      intent.putExtra("GroupRoomID", roomID); 
      Log.e("rID", roomID); 
      startActivity(intent); 
     } 
    }); 

ProgressDialog entlassen wird, wenn die Aktivität zerstört wird.

protected void onDestroy() { 
    super.onDestroy(); 
    dialog.dismiss(); 
} 

Aber klicken Kontakte, Dialog Fortschritt wird nicht sofort angezeigt, es wird zu viel Zeit nehmen, mich .Bitte zu helfen, das Problem zu beheben.

Antwort

0

wie diese versuchen .. Initialze Dialog außerhalb der Zuhörer

 dialog = new ProgressDialog(GroupChatActivity.this); 
     dialog.setMessage("Loading Contacts..."); 
     ArrayList<Bean_PhoneNumbers> listBeanPhone = getContactsFromPhone(); 

    contacts.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View view) { 

     dialog.show(); 
     Toast.makeText(getApplicationContext(), "Contacts Clicked", Toast.LENGTH_SHORT).show(); 
     popupWindow.dismiss(); 

     Intent intent = new Intent(GroupChatActivity.this, PhoneBookActivity.class); 
     //intent.putExtra("listBeanPhone", listBeanPhone); 
     intent.putParcelableArrayListExtra("listBeanPhone", listBeanPhone); 
     intent.putExtra("GroupRoomID", roomID); 
     Log.e("rID", roomID); 
     startActivity(intent); 
    } 
}); 
+0

Es arbeitet jetzt aber wird ein neues problem.As i getContactsFromPhone() -Methode in onCreate nenne() -Methode, die jeweilige Aktivität nimmt zu viel Zeit. Also ich denke, das ist nicht die perfekte Lösung. –