2014-02-07 96 views
1

我正在爲電子表格創建一個android UI(用於創建,編輯,排序nxm單元格數組等)。我想知道我應該使用哪些視圖(GridView或ListView)?Android的spreadhsheet用戶界面:GridView或ListView?

一些具體要求:

1)至少100行和100列

2)用戶接口需要快速

3)能夠設置行和列標題

4)對列進行分類的能力

5)過濾色譜柱的能力

5)重新排序行和列

已經有過類似的問題,但答案是不明確

Need to create spreadsheet like control, what should I extend ListView or GridView?

回答

0

我可能不會使用它們中的任何一個。根據您更具體的要求,您可能會花費大量時間試圖讓GridViewListView完成您想要的任務。通過子類ViewGroup來推出自己的解決方案可能更容易。

檢查android-times-squareSquare球員爲基礎的網格ViewGroup子類的一個例子。特別要看看CalendarGridViewCalendarRowView。這應該爲您提供ViewGroup路線的良好潛在起點。

+0

泰勒,謝謝你的迴應。我會檢查代碼並回復你。不過,我確實想給出更多關於我的要求的具體細節。我編輯了我原來的問題。 – user3268403

+0

是的,根據你更具體的要求,我自己肯定只是子類'ViewGroup'。我認爲有一個原因'android-times-square'沒有實現一個'GridView'子類 - 它本身並不很靈活。一個'ViewGroup'子類會給你更多的控制,以減少可能的工作量。 您將完全控制視圖回收的方式,這對實現點#1和#2可能很重要。 –

+0

與listview,gridview等玩過你是對的 - 我認爲subclassing viewgroup會更容易 – user3268403

0

這取決於當然。如果你需要在兩個軸上進行「無限」滾動,那麼你(可能)想要考慮一個GridView。 (但是如果你真的需要任意數量的列,你就有更大的問題了。)

我會推薦一個ListView,因爲它內部的元素在垂直滾動期間被重新使用,這是一個更可能的模型(更多行比列)。

行元素本身可以是單行網格或其他更適合的容器。

+0

John我已經用一些要求更新了我的問題。我確實需要在兩個軸上滾動。如果它既是無限的又是快速的,那將是非常棒的,但我會對100X100陣列感到滿意。 GridView中的行數和列數需要相等嗎?如果是這樣的話,那麼gridview對我來說就會受到限制。你說得對,我期望比列更多的行。 如果我使用listView,我將能夠在兩個軸上滾動,對不對? – user3268403

+0

「無限」滾動的意思是ListView被設計爲使用適配器來填充它的項目,並且當它們從視圖中滾動並且在另一端需要新項目時,項目被重新使用。它專爲「多行」情況而設計。 你也可以看看: http://stackoverflow.com/questions/2044775/scrollview-vertical-and-horizo​​ntal-in-android/6235806#6235806 –