Benim Faaliyetlerimde LoveFilm kuyruğunda bir kullanıcı film indirmek için kullandığım ama ProgressDialog hiçbir zaman görünmüyor.ProgressDialog görünmüyor
public class MyListActivity extends Activity {
SharedPreferences prefs;
ProgressDialog m_progressDialog;
Thread listThread;
User user;
private Runnable threadProc_initializeQueue = new Runnable() {
public void run() {
user.fetchQueues();
Queue defaultQueue = user.getDefaultQueue();
defaultQueue.fetchTitles();
m_progressDialog.dismiss();
}
};
/* (non-Javadoc)
* @see android.app.Activity#onCreate(android.os.Bundle)
*/
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
prefs = getSharedPreferences(getString(R.string.app_name), MODE_PRIVATE);
// Authenticate the user if needs be.
if(!prefs.getBoolean("isAuthenticated", false)) {
Intent i = new Intent(this, OAuthActivity.class);
startActivity(i);
finish();
} else {
// Get the users default list.
LoveDroid app = (LoveDroid) getApplication();
user = new User(app);
m_progressDialog = ProgressDialog.show(MyListActivity.this, "Please Wait", "Loading", true);
listThread = new Thread(null, threadProc_initializeQueue);
listThread.run();
}
}
Ben bu sorunla diğerlerini gördüm ve hepsi temelde maden
m_progressDialog = ProgressDialog.show(MyListActivity.this, "Please Wait", "Loading", true);
kodun kalan işleri
, kullanıcılar filmler aracılığıyla indirilir benzeyen bir çizgi öneren etrafında olsun iş parçacığı, ancak iletişim kutusu hiç gösterilmiyor, birkaç saniye sürüyor, görüntülenme zamanından önce iletişim kutusunun işten atılması gibi bir şey değil.
AsyncTask sınıfını kontrol etmeliyim - Daha önce hiç kullanmadım ve çok yararlı görünüyor. İlerleme diyalogları ile dismiss() çağrısı aslında herhangi bir iş parçacığından çağrılabilir, ancak yöntemlerin geri kalanının UI iş parçacığından çağrılması gerekir. –
Amitlicht'de dikkatiniz çekti, bir AsyncTask & eveything ile işin yerine geçtim, çok teşekkürler. –
ancak daha sonra iletişim nesnesi preExecute yöntemine yerel mi? –