2013-03-07 3 views
0

Я пытаюсь создать tableview (например, таблицу в Excel). Таблице необходимо прочитать данные от cursor (пример 30k записей) и работать с переработкой видов, таких как ListView и GridView. Таблица должна быть быстрой и иметь столбцы re-sizable (например, мне нравится иметь 4 столбца, каждый с разным размером).Таблица Android с адаптером курсора

То, что я сделал:

  1. GridView с пользовательским Cursor адаптером

    • выглядит как таблица с строкой заголовка (название столбцов)
    • таблицы быстро, чтение формы курсора и вид рециркуляции
    • повторная калибровка колонки невозможна, потому что на GridView рисуются все столбцы одинакового размера
  2. Каждый столбец ListView и они синхронизируются Scrolling слушателю

    • выглядит как стол
    • на броске прокрутки, если вы касаетесь какой-то список будет останавливаться и другие списки будут продолжать прокручивать
    • к грязный раствор
  3. TableLayout с адаптером

    • не читает форма адаптера
    • не видом переработки, а также с большим количеством записей исключение памяти брошено
  4. Выборочная GridView

    • Пользовательские Tableview, который проходит AbsListView, и я m не может использовать поля из AbsListView, потому что они защищены пакетом.

Я думаю, что лучший вид будет TableLayout/View с адаптером. Pls поможет мне найти лучшее решение для такого вида просмотра.

p.s. возможно, Roman Guy может помочь и скопировать TableView для следующей версии Android:

ответ

0

Если вам не нужно прокручивать по горизонтали горизонтальное изображение, вы можете пойти с ListView и пользовательским представлением для строки. Такая строка будет LinearLayout (с горизонтальной ориентацией) с таким количеством TextView s, что и столбцы, в каждом из которых есть атрибут weight, чтобы сделать их ширину подходящей.

Если это нужно прокручивать по горизонтали, то единственный способ, которым я это вижу, - реализовать собственный контейнер на основе AdapterView.

+0

Thx rwozniak, я сделал это со списком сегодня. И он работает с горизонтальным прокруткой. – Jan

+0

Я получил заказ HorisontalScroll с '@Override public boolean onInterceptTouchEvent (MotionEvent ev) { onTouchEvent (ev); return false; } ' Я не очень хорошо его тестировал, но на данный момент это выглядит нормально. – Jan

Смежные вопросы