내 Activity에서 사용자의 LoveFilm 대기열에있는 영화를 다운로드하는 데 사용하는 ProgressDialog가 나타나지 않습니다.ProgressDialog가 나타나지 않습니다.
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();
}
}
것은 나는이 문제를 다른 사람을 본 적이 그들은 모두 기본적으로 광산
m_progressDialog = ProgressDialog.show(MyListActivity.this, "Please Wait", "Loading", true);
코드의 나머지 작동
, 사용자의 영화를 통해 다운로드과 같은 줄을 추천 주위에 얻을 대화창은 나타나지 않지만, 몇 초가 걸립니다. 대화가 사라지기 전에 나타나지 않습니다.
AsyncTask 클래스를 살펴 봐야합니다. 이전에는 사용 해본 적이 없으며 매우 유용합니다. 진행 대화 상자에서 dismiss() 호출은 나머지 스레드를 UI 스레드에서 호출해야하지만 실제로 모든 스레드에서 호출 할 수 있습니다. –
당신은 Amitlicht에 자리를 잡았고, 나는 스레드를 AsyncTask로 교체했습니다. –
하지만 대화 상자 개체는 preExecute 메서드에 대해 로컬입니까? –