2012-09-26 77 views
0

我知道這很奇怪,但我認爲我做了一些錯誤的處理。只提供部分Android Alert對話框

public void checkUpgrade(final Context context, final int PREF_ID) { 
    if (!StringHelper.isEmpty(type) && !type.equals(TYPE_HIDDEN)) { 

     if (type.equals(TYPE_SUGGESTED) && lastRemind + reminderInterval < System.currentTimeMillis()) { 
      return; 
     } 

     AlertDialog.Builder builder = new AlertDialog.Builder(context); 
     builder.setTitle(title).setMessage(description).setCancelable(type.equals(TYPE_SUGGESTED)).setPositiveButton("Update", new DialogInterface.OnClickListener() { 
      public void onClick(DialogInterface dialog, int id) { 
       final Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(link)); 
       context.startActivity(browserIntent); 
       lastRemind = Long.MAX_VALUE; 
       save(context, PREF_ID); 
      } 
     }); 
     if (type.equals(TYPE_SUGGESTED)) { 
      builder.setNegativeButton("Skip", new DialogInterface.OnClickListener() { 
       public void onClick(DialogInterface dialog, int id) { 
        dialog.cancel(); 
        lastRemind = System.currentTimeMillis(); 
        save(context, PREF_ID); 
       } 
      }); 
     } 
     AlertDialog alert = builder.create(); 
     alert.show(); 
    } 
} 

這是我的警報對話框的代碼。 我所有的檢查升級對我的活動onResume。我真的不知道它爲什麼渲染只有升級按鈕而不是所有的佈局。你知道爲什麼嗎?

+0

是否有可能,你的'if(type.equals(TYPE_SUGGESTED)){'是假的?我有一個Android 4.0.4的SGS2,它顯示了兩個按鈕。 – PKeidel

+0

也許我解釋不好。當我說partiall時,我的意思是它只顯示按鈕而不顯示標題,描述和佈局。只有按鈕! :D – StErMi

+0

哦。你使用哪種設備?和什麼Android版本?原始版本還是自定義版本? – PKeidel

回答

0

我用你的代碼製作了一個AlertDialog,它按預期顯示。你有定義的自定義主題嗎?如果是這樣,請嘗試使用系統默認主題,看看是否有幫助。

好了,主題是不是你的問題...怎麼樣在XML定義的靜態佈局?

+0

我們實際上使用了默認主題。我也嘗試使用DialogFragment而不是普通的AlertFragment,並且得到相同的結果...可能是什麼? – StErMi

+0

無論如何,只要我第一次顯示對話框,如果我改變方向(並且對話框被重新創建),這個appen就會變得很好 – StErMi

+0

情節變厚了。如果你在配置更改後有正確繪製的東西,通常我會懷疑有人只將視圖層次的一部分標記爲髒,希望能夠繪製整個事物。這顯然不是這種情況。 – Sparky

相關問題