簡體   English   中英

靜態自定義對話框Android

[英]static custom dialog box Android

我想創建一個靜態的customdialog框,並希望在另一個類中訪問它。

但是,如果我通過當前類,則會出錯。

這是我的代碼:

public  static void showcustomdialogbox(String str,String type)
{
    final Dialog dialog=new Dialog(MainActivity.this);//error line

    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
    dialog.setContentView(R.layout.customdialogimageview);
dialog.show();

}

錯誤即將出現- -cannot use in static context(error line)那么,我應該在上下文中傳遞什么?

您真的不想這樣做。 對話框僅在活動(或在極少數情況下是服務)的上下文中才有意義。 他們需要顯示一個上下文,並且保留對該上下文的引用。 因此,如果您有對對話框的靜態引用,則有對其對話框的靜態引用。 即使“活動”或“服務”退出后,該問題仍然存在。 因此,您現在泄漏了該活動。 這意味着您還泄漏了該活動持有的所有變量,包括View對象,它們的相關位圖等。這可能是10兆字節,足以導致以后出現OutOfMemory問題。 規則是您永遠不會有靜態的Context變量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM