2013-08-01 104 views
3

我有一個關於Android中片段的正確邏輯使用的問題。我知道它旨在用於改善平板電腦體驗,但這是否意味着碎片通常只能用於此目的?或者,使用片段作爲自定義複合視圖的替代品,會不會是一種糟糕的開發實踐?Android片段混亂

例如,我正在編寫一個應用程序來保持計數。製作評分表時,會爲ScrollView中的每個玩家創建一個「ScoreCell」,一個自定義複合控件。我想做的事情(但沒有看到View如何)處理由包含活動激活的內部OnClickListeners:每個ScoreCell都有一個用於玩家姓名的TextView,我想長時間按下startActivityForResult()彈出打開輸入對話框來更改ScoreCell的名稱。但是在視圖中看到OnActivityResult()的方法是不可用的,那麼對於我來說每個ScoreCell都是一個片段是否正確?

+1

我認爲這一形象說,大部分的碎片是如何打算要使用的。 http://developer.android.com/images/fundamentals/fragments.png。有時候只有一個片段的活動是完全合理的。 –

+1

不要讓評分單元成爲片段。就名稱更改而言,爲此目的使用「DialogFragment」。 –

回答

4

這裏有很多問題,讓我來看看它們。

  1. 無片段並不意味着只是平板電腦的經驗,一般來說,他們允許您創建更加模塊化和適應性佈局(思班)。他們對平板電腦佈局/景觀非常有幫助,但也爲您提供可重複使用的組件。

  2. 同時,在這裏一個片段不是正確的選擇...使用listview,加上自定義的單元格佈局更容易。而不是使用另一個活動來顯示對話框,只需調用新的Dialog()和dialog.show()。活動只應作爲一個對話框,它是否會被用來通過用戶的很長一段時間,並提供了一個新的「活動」(動作)

1

列表中的項目不應該是每一個它們自己的片段,沒有。您可以在不創建整個活動的情況下彈出對話框。查看AlertDialogs和DialogFragments對話框上的documentation,您可以從中獲得結果。

+0

這非常清楚的事情,非常感謝你! – cjbrooks12