** РЕДАКТИРОВАТЬ: эта строка была правильной, когда этот ответ был написан, но больше не относится к 99,9% + всех устройств Android: There is no GridLayout in the Android API.
**
(Примечание. На уровне API 14 наконец-то появился GridLayout; см. Ответы ниже. Кроме того, библиотека поддержки V7 добавляет поддержку GridLayout вплоть до API 7. Однако описание этого ответа для GridView по-прежнему точное и очень хорошо заявлено.)
Если вы имеете в виду GridView, TableLayout и GridView полностью разные вещи.
GridView в основном похож на ListView, но элементы которого расположены в строгой сетке. Он подключен к адаптеру и извлекает виды из адаптера, когда пользователь прокручивает его. Все элементы в сетке должны иметь одинаковый размер. Пользователь может перемещать видимый селектор по каждому элементу - цель GridLayout - отобразить данные из адаптера и позволить пользователю перемещаться и выбирать каждый из отображаемых элементов. Единственное отличие от ListView состоит в том, что элементы помещаются в сетку, а не в вертикальный список.
TableLayout - это просто менеджер макетов, похожий на таблицу в HTML. Само по себе не выполняет прокрутку; чтобы иметь что-то, что прокручивает, вы должны поместить TableLayout в ScrollView. Это подразумевает, что все отображаемые данные должны быть заполнены в TableLayout заранее, поэтому ScrollView знает общее пространство, в котором он должен прокручиваться. Он также не дает прямого выбора или взаимодействия для каждого элемента, потому что TableLayout не имеет элементов, это просто менеджер макета.
Вы фактически не предоставили достаточно полезной информации о том, что вы на самом деле пытаетесь сделать, чтобы кто-нибудь порекомендовал, что использовать. Многое зависит от того, что конкретно вы хотите.
Я имею в виду, что будет полезно в терминах "дополнительных функций"?!? Ну, какие функции вы ищете!
В любом случае, как правило, представление на основе адаптера следует использовать для любой ситуации, когда у вас есть значительный объем данных, который пользователь просматривает при прокрутке; это намного эффективнее, чем создание всей иерархии представления заранее для отображения ваших данных. Они также являются единственными, которые автоматически предоставляют выбор каждого элемента и другие подобные функции. Основным представлением для этого, которое используют приложения, является ListView, хотя также можно использовать GridView.