2013-02-12 61 views
-1

我想創建一個自定義列表視圖像這樣下面的圖像。我正在創建一個聊天應用程序,該應用程序必須通過文本,圖像和視頻等,請參閱下面的圖像。如何創建像這樣的自定義ListView?

enter image description here

在這方面,當用戶發送/接收的圖像中聊天,如果他希望看到通過點擊該圖像旁邊的按鈕,如何移動到與該圖像路徑另一項活動(或)網址,用於顯示完整圖像,以及用戶在圖像上點擊圖像時必須顯示快速瀏覽。同樣的方式,如果這是視頻,我必須得到該路徑(或)網址才能正確播放視頻。 如何區分列表項目取決於項目類型。

回答

1

如果要爲音頻,圖像和文本信息顯示不同的行,則需要有3行佈局,然後您將決定從CustomAdaptergetView()中返回哪行。有兩種方法getViewTypeCount() and getItemViewType()適配器,這將有助於您的回收行顯示在ListView

您將首先告訴您ListView中將使用多少個佈局,這些佈局將使用getViewTypeCount(),告知適配器將有多少行類型,然後檢查數據模型中該位置存在的數據類型,然後返回查看類型從getItemViewType(),因此getView()將收到相關的回收視圖(如果有的話)。

Here is my blog post關於使用9個補丁圖像,它展示了視圖的發送者和接收者類型,根據數據模型中特定位置的項目,可以應用圖像和音頻。

+0

是否需要在getView()方法中填充所有行(xml)。 – 2013-02-12 11:56:24

+0

是的。您需要根據數據模型中的消息類型從'getView()'中誇大它們。 – 2013-02-12 11:57:43

1

可以

  • 實施ScrollView並添加視圖進去。
  • 創建適配器,其中包含所有可能的視圖,然後決定要隱藏或顯示哪個視圖
  • 您可以創建適配器並動態地將視圖添加到每一行(在這種情況下速度太慢)。

我的choise是#2 - 創建排視圖與所有可能的意見,然後決定什麼可隱瞞的,在這種情況下,你可以節省時間,因爲你不會有誇大你每一次的意見和你甚至可以用ViewHolder模式。

相關問題