2013-04-27 90 views
0

因此,我對Android開發以及一般的Java編程(很好,沒關係,所以編程期間......)都很陌生,所以我遇到了一些我在網上找到答案的東西,但我想知道爲什麼作品。什麼參數應該傳遞給.show()?

我創建了一個關於創建AlertDialog的類,該類基於該Android教程網站上的代碼。然後,在另一個活動中,我創建了一個實例化AlertDialog類的對象的方法。然後,我嘗試使用.show()實際調用AlertDialog。

它不會不帶任何參數工作,所以兩個參數我要傳遞給它是getFragmentManager(),和任何類型的文本,只要它是在報價,這樣的:

alertDialogObject。 show(getFragmentManager(),「Hi」);

最後,在寫完之後,錯誤就消失了,AlertDialog框在我的應用程序中彈出uo就好了。有人可以向我解釋我傳遞給show()的基礎知識,以及show()想要什麼類型的參數?

感謝您的幫助!

+1

如果你需要幫助,那麼你可能需要提供你所做的一些小代碼。 'AlertDialog''擴展了Dialog',它有一個不帶參數的[show()](http://developer.android.com/reference/android/app/Dialog.html#show())方法,所以我不是確定你有什麼 – codeMagic 2013-04-27 02:48:59

+0

如果你現在停下來回去練習java的基礎知識,你將會對Android有更多的愉快時光。 – FoamyGuy 2013-04-27 02:52:04

回答

0

沒有鏈接到你指的是,我會假設你是在談論一個DialogFragment的實施,基於代碼段的教程:

alertDialogObject.show(getFragmentManager(), "Hi"); 

爲最佳答案您的問題至於「我通過什麼來show()「什麼樣的論點show() wants,你應該可以參考documentation on the DialogFragment class

要更具體地回答第二個問題,請查看兩種可用的show(...)方法。這些在Java術語中被稱爲「重載」:具有相同名稱但接受不同參數的方法。在文檔中,每種方法通常都有簡短的說明,解釋它的作用,返回值是什麼以及期望的參數。也不例外,這兩個:

public int show(FragmentTransaction transaction, String tag) 

顯示的對話框中,使用現有的交易 加入片段,然後提交事務。

public void show(FragmentManager manager, String tag) 

顯示的對話框中,添加片段給定FragmentManager。 這是爲顯式創建一個事務創建一個便利,使用給定的標記添加 片段並提交它。這並不是 將事務添加到後退堆棧。當 片段被解散時,將執行新的交易以將其從 活動中移除。

所以,你必須調用.show(...)要麼用FragmentTransactionFragmentManager的選擇,其次是標籤。如何與交易和/或經理一起工作的方式有大量的資源。如果您想更多地瞭解這一點,我建議您從任何教程或Android書籍開始,解釋活動和片段的概念(以及它們之間的區別)。如果它是您追求的例子,那麼一定要通過Android SDK附帶的API演示。