Как заполнить список в Android - PullRequest
0 голосов
/ 09 января 2012

Макет страницы выглядит следующим образом: изображение заголовка сначала таблица или список с одной записью в каждой строке для каждой записи, оно имеет изображение и два текстовых представления

как я могу создать этот макет и заполнить данныединамически, например, через веб-загрузку или файл данных (формат xml / text)?

Я не могу понять, как работает привязка, и мне следует использовать макет таблицы со строкой таблицы или просто представление списка с некоторыми настройками

Ответы [ 5 ]

1 голос
/ 09 января 2012

На самом деле, это будет широкий вопрос, потому что вы спрашиваете о получении данных из сети , а также необходимо настроить просмотр списка для отображения данных.

  1. Чтобы получить данные из Интернета: Вы не упомянули, является ли это веб-сервисом SOAP или RESTful? И что вы получите в ответе, т.е. XML или JSON? Для лучшего я бы предложил RESTful с JSON.

  2. Чтобы настроить ListView: Я могу дать вам ответ на вопрос о настройке ListView, для которого вы можете создать пользовательский класс адаптера, расширив BaseAdapter, реализовать метод onView () с инфляцией пользовательского макета строки файл (1 ImageView + 2 TextViews), проверьте это: Android custom adapter for ListView

0 голосов
/ 09 января 2012

Макет страницы ... он имеет изображение и текстовое представление 2.

Проработка ответа jitendra: Да, ListView кажется идеальным для этой установки. TableView выполним, но на самом деле более идеален для структуры строк / столбцов, и это не похоже на то, что вам нужно.

Как мне создать этот макет ...?

Вы бы использовали андроид XML для именования и оформления элементов. Лучше всего создать файл макета для экрана, содержащий сам список. Создайте второй файл макета для размещения общей записи. Другими словами, вы обычно проектируете запись отдельно от списка и его контейнеров. На веб-сайте разработчика Android есть несколько отличных учебников по макетам.

Как я могу ... заполнить данные динамически?

Этот вопрос состоит из двух частей. Во-первых, в коде вам понадобится какой-нибудь адаптер для преобразования данных в фактические представления. ListView будет связан с адаптером. Адаптер накачает XML-формат, созданный вами для Записи. Различные адаптеры имеют разные рекомендации по настройке видов. Как упомянул Paresh, BaseAdapter - отличный класс, но вы действительно должны взглянуть на различные предоставленные адаптеры и посмотреть, соответствуют ли они вашим потребностям.

Во-вторых, чтобы получить данные ... 1) Из Интернета многое зависит от вашего веб-сервера и от того, как он распространяет данные. Без дополнительной информации вы вряд ли получите какие-либо убедительные ответы. Мы можем только давать рекомендации. 2) Если вы просматриваете файл данных, ситуация значительно меняется. Вы можете создать массив объектов из пользовательского класса, созданного вокруг ваших данных. Если вам нужна сортировка, дерево может быть лучше. Если каждая запись имеет уникальный ключ, набор или список могут помочь вам. Исходя из вашего вопроса, я предполагаю, что вы не знакомы с разработкой для Android, поэтому я бы порекомендовал файл данных, загруженный в массив с ArrayAdapter. Это, по крайней мере, поможет вам немного ближе познакомиться с вашим собственным проектом и его отношением к среде Android.

Я не могу понять, как работает привязка

К сожалению, это зависит от вашего вида и его адаптера. A CursorAdapter выполняет большую часть привязки данных в методе bindView() адаптера, но раздувает представление в методе getView(). A BaseAdapter делает это в методе onView(). Если вам нужно больше узнать об адаптерах и их возможностях, прочитайте Ресурсы Android для разработчиков . У них есть отличные образцы и код. Кроме того, выполните поиск там "пользовательский адаптер", и вы будете связаны с тонна других учебных пособий.

На этом этапе я настоятельно рекомендую два действия для вас. 1) Принять несколько решений. Либо вы получаете данные из Интернета или файл данных. Если вы хотите сделать другой позже, отлично. Получить справку по одному, таким образом, мы можем помочь вам более эффективно. 2) Используйте функции поиска в Google и Android Developer Resources с фразами, определяющими ваш проект. Если вы добавите слово учебник или пример, вы обязательно найдете множество, которые помогут вам принять эти решения, чтобы мы могли адаптировать решение, отвечающее вашим потребностям.

Надеюсь, это поможет!

FuzzicalLogic

0 голосов
/ 09 января 2012

Никто не даст вам все классы java и xml оба.

Вы создаете xml. Затем с помощью адаптера попробуйте внедрить данные в список.

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

0 голосов
/ 09 января 2012
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:background="@drawable/img_list_background_repeater"
android:layout_height="wrap_content"
android:orientation="vertical" >   

<TextView  
    android:id="@id/android:empty"
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="@string/empty_category"/>

<ListView
    android:id="@id/android:list"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />          

0 голосов
/ 09 января 2012

В соответствии с вашими требованиями ListView будет хорошо, и вам нужно будет использовать адаптер для привязки данных к представлению. Пожалуйста, прочтите о listview и адаптере для их реализации.

...