J'ai un petit problème, je l'espère U peut me aider;)ProgressDialog travaillant en fil sur android
Le problème est que ProgressDialog afficher uniquement après le chargement run(), mais je dois le montrer sur le début et de montrer tout en chargeant des données. Je mets: "dialog = ProgressDialog.show (CategoriesListActivity.this," Travailler ... "," Chargement des données ", true);" dans la méthode run(), mais la même chose. J'imprime dans Log.i() quelques infos (int i ++) et mets le titre de ProgressDialog. La méthode fonctionne correctement, mais n'affiche pas ProgressDialog. J'ai lu quelques infos qu'un thread bloque un autre thread (mon créé), c'est pourquoi n'affiche pas progressDialog, mais ne peut rien faire. THX.
public void run() {
/** getting there long execution **/
handler.sendEmptyMessage(0);
}
private Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
// stop and hide dialog
dialog.dismiss();
}
};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.list_
dialog = ProgressDialog.show(CategoriesListActivity.this, "Working...",
"Loading data", true);
// start new thread where get long time execution
Thread thread = new Thread(this);
thread.start();
//wait while data is loading, 'cause I need use variable from calculation
// in "EfficientAdapter" later
try {
thread.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
ListView l1 = (ListView) findViewById(R.id.list);
l1.setAdapter(new EfficientAdapter(this));
}