Подтвердить что ты не робот

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

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

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

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

4b9b3361

Ответ 2

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;
    }
}

Ответ 3

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

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

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

В представлении списка:

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

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

android:layout_height="wrap_content"

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