2013-02-01 24 views
1

我正在尋找最佳視圖或活動性能明智,將需要不斷修改。想象一下某種基於「對話」的列表,其中新元素始終添加到對話中。不斷變化的列表的最佳視圖/活動?

遊標在這裏適合嗎?怎麼樣ListActivity?

做出選擇甚至重要嗎?在性能方面有沒有什麼明顯的區別?我相信你(現在)明白我是Android開發新手。我希望你明白。

+0

您是否遇到過其中任何問題的性能問題? – wtsang02

+0

不,但是因爲我對這個主題很陌生(非常清楚它需要我花一段時間才能理解如何實現它們),所以我想事先了解一下。 –

回答

1

我看過的內置短信Android應用程序,這是佈局

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 

    <ListView android:id="@android:id/list" 
     style="?android:attr/listViewWhiteStyle" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:drawSelectorOnTop="false" 
     android:scrollbarStyle="insideOverlay" 
     android:background="@android:color/white" 
     android:cacheColorHint="@android:color/white" 
     android:fadingEdgeLength="16dip" /> 

    <TextView android:id="@+id/empty" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:gravity="center" 
     android:text="@string/loading_conversations" 
     android:textAppearance="?android:attr/textAppearanceMedium" /> 
</RelativeLayout> 

所以,如果你是一個「談話」的應用程序,它是安全的使用ListView源代碼沒有性能問題。

+0

有趣。我可以以某種方式在我的應用程序中使用此確切佈局?或者這會導致缺少資源或不是什麼問題? –

+0

在這種情況下,你可以但你會錯過一些資源,你可能需要添加自己反正像'android:text =「@ string/loading_conversations」' – wtsang02

+0

但是「listViewWhiteStyle」引用應該工作,並且不需要添加? –

0

你真的在想這件事。提出有效展示信息的UI設計。然後弄清楚如何實現該設計。在此之前不要考慮個人課程。

順便說一句,如果你的主視圖幾乎只是一個ListView,你只會使用ListActivity。如果你正在做數據庫請求,你只能使用遊標。您不會考慮其中的任何一種類型 - 您將爲每個應用程序(經常是多個應用程序)編寫您自己的自定義活動,並且根本不選擇光標類型 - 您正在使用的數據源將如果合適,傳給你一個。

0

這取決於您的要求。大多數情況下,你可以避開使用許多不同類型的視圖,但假設你將它打開很長時間,如果你所做的只是添加(相對於刪除),它會佔用越來越多的內存。這通常意味着您需要一種策略來刪除一些項目並在適用時重新加載(例如,在「對話」中從早期移除並在向上滾動時加回)。我很少實際使用ListActivity,但傾向於只使用ListView s在常規Activity中,但ListActivity本身沒有任何問題。從你所描述的我肯定會考慮一些形式的ListView,但。另外看看適配器是如何工作的,因爲它們是ListView的對應物。

相關問題