2013-04-16 17 views
1

我開始了我的第一個真正的Android應用程序,並且我有一些初學者問題。
我是一名經驗豐富的C#開發人員,但這是我第一次使用Android。第一個Android應用程序 - 一次一個地騎自行車列表

我設計了屏幕,我從第一個開始。似乎應該有一種直接的方式來做我想做的事...

數據模型非常簡單:它是一個對象列表,每個頂級對象包含一個子對象列表。我希望第一個屏幕具有上一個和下一個按鈕的當前頂級對象;只顯示當前的頂層。該頂級的子對象也會顯示。

當按下下一個或上一個按鈕時,我想循環到下一個/上一個頂層對象,當然還要刷新子對象列表。

我認爲這可以用兩個按鈕,一個TextView和一個ListView或GridView來完成,但我想知道是否有更好的方法 - 也許是我不知道的控件。感覺就像我應該有一個適配器並將控制器綁定到該適配器。

此外,它可以做到這一切在視圖?碎片在這裏似乎有點過度殺戮。 而且,最後,是合理的,有一個簡單的對象層次結構,如:

public class SubObject { 
    private String _name; 
    ... other properties, get/set methods, etc. 
} 

public class TopLevel { 

    private String _name; 
    private List<SubObject> _subObjects; 
    .... 
} 

任何幫助,建議或例子感謝!謝謝!

菲爾

回答

1

我假定你的意思是它是確定做這一切在活動(一個觀點是屏幕上的一個單一的用品 - 一個按鈕,一個文本視圖等)。是的,這很好,如果你不想有分離的屏幕區域讓你不使用它們。

Android並沒有像你想象的那樣真的擁有適配器。它所具有的唯一適配器用於將位置映射到ListView/GridView/ViewPager中的視圖。它根本不用於其他視圖。但你似乎有正確的做事方式。你可以使用Fragments和ViewPager來做到這一點,然後你可以在下一個/上一個按鈕上切換片段,並且每個片段都會初始化一次。但它是一個偏好問題,既不是錯誤的。

0

在Android中,用於多級數據顯示推薦的UI模式是使用主從(和遞歸子主細節)佈局as explained here.如果選擇遵循這個模式,片段是必要的,與ListView和一個沿着FragementPagerAdapter全面實施。

但是,如果您選擇使用簡單的佈局,如:使用下一個和上一個按鈕的標題和內容視圖,則不需要片段。您可以在按鈕導航上的標題和內容視圖中替換數據。對於數據,您可以使用數據庫遊標或自己的數據模型類。

+0

主/細節適用於某些用戶界面。這對其他人來說並不好,而且它對於低端手機來說是絕對可怕的(真的,HVGA手機上的主人/細節是不可讀的)。即使在我的筆記2上,我也覺得很難閱讀,我個人認爲它比7英寸平板電腦更小。有一點要說的是,實現主/從UI的正確方法是碎片 - 你是對的,它的功能是什麼。它的另一種說法是直接表明其始終如一地顯示層次結構數據 - 它可能是,但有足夠的理由使用其他用戶界面。 –

+0

@GabeSechan只有當開發人員在任何地方使用雙窗格佈局時,纔會出現這種情況,對於較小的屏幕,應用程序應該顯示列表或細節,而不是兩者。 –

相關問題