2012-01-09 1 views
0

макет страницы, как: изображения заголовка первого таблицы или список с одной записью каждой строкой для каждой записи, он имеет вид изображения и 2 текстаКак заполнить список в андроиде

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

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

+0

То, что я хочу, это как образец в этой должности, но с другим заголовком изображения: http://blog.sptechnolab.com/2011/02/01/android/android-custom-listview-items- и-адаптеры/ –

ответ

0

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

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

Как я могу спроектировать этот макет ...?

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

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

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

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

Я не могу понять, как переплетные работы

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

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

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

FuzzicalLogic

0

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

1

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

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

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

+0

Это полезная информация. Я получил свое решение, работающее с Custom Adapter. и я думаю, что для получения данных из Интернета WCF - это еще один вариант? XML мне легче хранить данные и интегрироваться с BizTalk –

0
<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

Никто не даст вам все класс Java и XML как.

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

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

+0

Я пытаюсь сначала получить идею, не хочу принимать неправильное решение в начале. –

+0

И я получил свое решение, не спрашивая исходный код здесь. –