Intereting Posts
Системный сбой при переопределении долженInterceptRequest в WebViewClient Как получить статистику использования процессора на Android? BroadcastReceiver при изменении состояния сети Wi-Fi или 3g Должны ли мы использовать провайдера безопасности Google с помощью OkHttp? SessionState имеет CLOSED_LOGIN_FAILED в собственном входе FB Пользовательские представления Android с Kotlin Ant после обновления инструментов Android SDK до версии 14 ADT 20 Установка высоты / ширины макета в списке свойств Сетевой провайдер не работает в android Нужно ли нам потреблять поток ошибок HttpURLConnection при выходе IOException Android XML Есть ли способ использовать пространство имен инструментов с пользовательскими атрибутами? Адаптер с hasStableIds с использованием GUID или строк в качестве идентификаторов На Android-эмуляторе не осталось места Как установить View alpha в более низком Api, чем 11? «Цвет фона Android» случайно изменен

Сложный пример 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" 

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