Для этого решения я бы предложил вам разработать собственный адаптер, который будет отображаться либо в GridView, либо в многостолбцовом ListView.
Но я думаю, что GridView было бы лучше для реализации вышеизложенногофункциональность.
Теперь, чтобы определить пользовательский адаптер, вам просто нужно создать простой класс и расширить BaseAdapter, а затем вы должны переопределить метод getView () внутри этого класса.Теперь в методе getView () вы можете раздуть () файл пользовательского макета строки (который вы определяете для одного элемента, этот файл макета XML-элемента представляет все элементы внутри GridView).
Здесь - простой пример реализации простого GridView.

Подробный пример такого вида сетки приведен в следующем примере: Android - пример GridView