2013-03-07 74 views
0

我正在嘗試創建tableview(如Excel中的電子表格)。該表需要從cursor(例如30k記錄)中讀取數據,並使用ListViewGridView之類的視圖進行回收。該表格必須很快,並有re-sizable列(例如,我喜歡有4列,每個列都有不同的大小)。使用光標適配器的Android表格

我做了什麼:

  1. GridView自定義光標適配器

    • 看起來像標題行表(用於列名)
    • 表是速度快,閱讀形式光標回收視圖
    • 列重新調整大小是不可能的,因爲在GridView上繪製所有具有相同大小的列
  2. 每一列都是ListView,他們已經同步滾動收聽

    • 看起來像表
    • 上一扔滾動,如果你摸一些名單,將停止等名單將繼續滾動
    • 到骯髒的解決方案
  3. TableLayout帶適配器

    • 正在讀形式適配器
    • 沒有回收的意見,並與大數量的記錄存儲異常被拋出
  4. 定製GridView

    • 定製的TableView延伸AbsListView,和我m不能使用來自AbsListView的字段,因爲它們受封裝保護。

我認爲最好的景觀將是TableLayout /景觀帶適配器。 請幫我找到這種視圖的最佳解決方案。

p.s.也許羅馬人可以幫助和代碼TableView的下一個Android版本:)

回答

0

如果你的tableview不必水平滾動,那麼你可以去一個ListView和行的自定義視圖。這樣的行將是LinearLayout(具有水平方向),其中多個TextView爲您需要的列,它們中的每一個具有weight屬性以使它們的寬度合適。

如果它必須水平滾動,那麼我看到的唯一方法就是實現基於AdapterView的自己的容器。

+0

Thx rwozniak,我今天用listview做了。它正在使用水平滾動。 – Jan 2013-03-08 15:49:53

+0

我得到了定製的HorisontalScroll與 '@Override public boolean onInterceptTouchEvent(MotionEvent ev){ onTouchEvent(ev); 返回false; }' 我還沒有很好的測試,但現在看起來很好。 – Jan 2013-03-08 15:51:48

相關問題