我有一個正面的屏幕,這將打開第二個屏幕的按鈕。第二個屏幕可能需要幾秒鐘才能加載,因此我想在加載時顯示對話框。我的問題是加載第二個屏幕時對話框不顯示,但是當我從第二個頁面返回到第一個頁面時顯示。如果我註釋掉startActivity
打開第二頁,對話框顯示正常。我對android編程相當陌生 - 我想這與線程有關。顯示對話框,同時加載新的屏幕
//code snippet from inside onCreate:
NewGame.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
//does not get displayed before 2nd page opens
showDialog(DIALOG2_KEY);
//shows fine if next 2 lines commented out
Intent i = new Intent(screen1.this, SudukuXL.class);
startActivity(i);
我打過交道的對話框顯示在返回使用onPause()
前屏幕。我試過用線程從startActivity
中分離對話框,但我沒有運氣。任何幫助,將不勝感激。
我使用的代碼從Android的例子來創建對話框。我下面包括供參考:
protected Dialog onCreateDialog(int id) {
switch (id) {
case DIALOG2_KEY: {
ProgressDialog dialog = new ProgressDialog(this);
dialog.setMessage("Loading...");
dialog.setIndeterminate(true);
dialog.setCancelable(true);
return dialog;
}
}
return null;
}
我測試了延遲發生的地方。它實際上構建了XML - 表中有81個editTexts。在我的PC上的模擬器 - 使用一個空白的Java類,但相同的XML需要2秒鐘顯示。加上完整的java類需要大約3秒。構建XML時,是否可以在第二個屏幕上顯示對話框或ViewSitcher? - 我會去的。 – darkdusky 2010-02-26 12:02:08
所以問題出現在模擬器呈現視圖的時候了嗎?我對嗎?我不知道你在試圖開發什麼,但我寧願使用適配器這樣的東西來獲得包含很多元素的巨大視圖。 Adapters和AdapterView的優點是您可以渲染視圖和數據的可見部分。檢查文檔。 http://developer.android.com/reference/android/widget/Adapter.html – ponkin 2010-02-26 13:18:36
感謝您的建議 - 我正在做一個suduku遊戲,所以81個人edittexts。我是否應該放棄嘗試在不同線程中拆分setContentView和showDialog(請參見下文)? – darkdusky 2010-02-26 15:45:26