Jestem nowy na Androida. Właśnie opracowałem aplikację, która wyświetla niektóre dane z bazy danych w widoku tabeli. Pobieranie danych zajmuje trochę czasu. W tym czasie powinien wyświetlić się Loadind Spinner. Po pobraniu powinien zniknąć.
b.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
ProgressDialog pd=ProgressDialog.show(result.this, "Retreiving", "Please Wait....");
butt();
if(pd.isShowing())
{
pd.dismiss();
}
else
{
pd.show();
}
}
});
To jest zdarzenie przycisku - działa, ale działa po jego pobraniu.
Odpowiedzi:
1 dla odpowiedzi № 1W swoim ćwiczeniu utwórz asynctask:
private class Load_data extends AsyncTask<Void, Void, Void> {
ProgressDialog pd;
@Override
protected void onPreExecute() {
super.onPreExecute();
pd= ProgressDialog.show(result.this, "Retreiving", "Please Wait....");
}
protected Void doInBackground(Void... param) {
publishProgress(param);
butt();
return null;
}
protected void onPostExecute(String arg) {
pd.dismiss();
}
}
Teraz zadzwoń do Asynctask po kliknięciu przycisku:
b.setOnClickListener(new View.OnClickListener() {
new Load_data().execute();
});
Dokumentację Asynctask możesz sprawdzić tutaj: http://developer.android.com/reference/android/os/AsyncTask.html
Mam nadzieję, że to pomoże