Intereting Posts
Android Studio не может разрешить символ «TabLayout» Как поместить переменную внутри строк-ресурсов? Размер уведомлений Android и маленьких изображений Камера с пользовательским звуком затвора Как протестировать класс, используя контент-резольвер / провайдер? Блокировать устройство с помощью DeviceAdminReceiver Тест на множественный и одиночный выбор Android Google Maps: отключить перетаскивание в MapFragment Проблема рисования сферы в OPENGL ES Недопустимое использование неполного типа в android ndk с использованием c ++ 11 std :: async Пропустить проверку Eclipse файла build.xml Установка значений по умолчанию для нескольких экземпляров / файлов SharedPreferences Файл Android.bat отсутствует в папке sdk \ tools, также у меня нет менеджера AVD и SDK в инструментах, поэтому я могу их заменить Как получить масштаб веб-просмотра в Android 4 Msgstr "ошибка: не удается найти символьную переменную xml" при попытке Google Analytics

Сложный пример ListView со сложными данными и сложной компоновкой каждой строки?

Я вытаскиваю список объектов продукта из вызова базы данных, и я хочу создать ListView данных в своей деятельности с помощью прокрутки верхнего и нижнего колонтитула. Каждая строка будет состоять из миниатюры продукта, некоторых данных и кнопки, расположенных горизонтально. Я понимаю, что с помощью ListView я могу раздувать каждую строку, используя отдельный макет.

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

Есть ли у кого-нибудь указания на образец кода с хорошим объяснением?

Solutions Collecting From Web of "Сложный пример ListView со сложными данными и сложной компоновкой каждой строки?"

Пример, который мне очень помог:

http://android-developers.blogspot.com/2009/02/android-layout-tricks-1.html

Надеюсь, это будет полезно и вам.

private static class CustomCursorAdapter extends CursorAdapter { protected ListView mListView; protected static class RowViewHolder { public TextView mTitle; public TextView mText; } public CustomCursorAdapter(Activity activity) { super(); mListView = activity.getListView(); } @Override public void bindView(View view, Context context, Cursor cursor) { // do what you need to do } @Override public View newView(Context context, Cursor cursor, ViewGroup parent) { View view = View.inflate(context, R.layout.row_layout, null); RowViewHolder holder = new RowViewHolder(); holder.mTitle = (TextView) view.findViewById(R.id.Title); holder.mText = (TextView) view.findViewById(R.id.Text); holder.mTitle.setOnClickListener(mOnTitleClickListener); holder.mText.setOnClickListener(mOnTextClickListener); view.setTag(holder); return view; } } 

Самый простой способ иметь сложную строку в ListView – через SimpleAdapter. Для этого есть несколько примеров.

Чтобы заставить ListView заполнить оставшуюся часть экрана, задайте следующие свойства:

Используйте LinearLayout.

В списке:

 android:layout_height="fill_parent", android:height="0dp", android:layout_weight="1" 

На всех других виджетах:

 android:layout_height="wrap_content" 

Не устанавливайте высоту или макет