Независимо от того, как вы реализуете Adapter
, вы не можете надежно размещать прокручиваемые виджеты в других прокручиваемых виджетах, по крайней мере там, где они прокручиваются в том же направлении.Поскольку и WebView
, и GridView
прокручивают по вертикали, вы получите ненадежные результаты, пытаясь объединить их таким образом.
При этом на некоторые ваши утверждения и вопросы:
Я не был уверен, что ArrayAdapter может принять его таким образом или поддерживает только примитивные типы.
ArrayAdapter
может адаптировать массив Java или ArrayList
любого типа данных, который вынапример.
К сожалению, получается строковая версия веб-просмотра ... ПРИМЕЧАНИЕ. Может ли кто-нибудь указать некоторую информацию относительно второй переменной конструктора?IE android.R.layout.simple_list_item_1
Вторая переменная конструктора - это то, как вы хотите, чтобы ячейки в вашем GridView
были похожи.В вашем случае вы указываете встроенный ресурс макета, который является TextView
.Следовательно, вы говорите Android, что хотите, чтобы все ваши ячейки сетки были TextView
виджетами.Android будет вызывать toString()
для объектов в вашем массиве, вылить этот результат в TextView
, и TextViews
войдет в ваши ячейки сетки.
Если вы хотите, чтобы ваш ArrayAdapter
возвращалкроме TextView
, вам нужно будет переопределить getView()
и самостоятельно обрабатывать больше, возможно, используя файл макета вашего собственного создания.
Так что вопрос в том, могу ли я сделать это такили мне лучше сделать свой собственный CustomAdapter?
Как уже отмечалось в начале моего ответа, то, что вы хотите, просто не будет работать надежно.
Делая вид, что сейчасWebViews
в GridView
сработает, самое простое решение - переопределить getView()
в вашем собственном подклассе ArrayAdapter
, как я упоминал ранее.Вот бесплатный отрывок из одной из моих книг , посвященный этому процессу.