Сложный пример ListView со сложными данными и сложной компоновкой каждой строки? - PullRequest
24 голосов
/ 16 февраля 2010

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

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

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

Ответы [ 3 ]

24 голосов
/ 17 февраля 2010

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

http://android -developers.blogspot.com / 2009/02 / Android-макета фокусы-1.html

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

6 голосов
/ 06 декабря 2011
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 голосов
/ 16 февраля 2010

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

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

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

В списке:

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

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

android:layout_height="wrap_content"

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...