Разделение списков Android с помощью заголовков

#android #list #listview #header #separator

#Android #Список #listview #заголовок #разделитель

Вопрос:

Хорошо, я искал последние пару дней. Я продолжаю находить пользовательские классы, которые люди создали для достижения этой цели. В частности, класс Джеффа Шарки и класс Commonsware.

Я заметил, что Джефф Шарки опубликовал это в 2008 году. Это было некоторое время назад. Интегрировал ли Google способ сделать это без использования пользовательских классов? Я бы действительно хотел, чтобы мне не приходилось использовать пользовательский класс и просто придерживаться java / Android sdk

Ответ №1:

У меня есть twolinelistview.xml в котором у меня есть 2 текстовых представления. Я заполняю нижний текст обычными данными, а верхний текст — данными заголовка. Пустые элементы заголовка не вызывают у меня никаких проблем.

 public static class ViewHolder {
    TextView toptext;
    TextView bottomtext;
}
  

XML:

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >
    <TextView 
        android:id="@ id/lv_topText"
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content"
        android:textColor="@drawable/ltGrey" 
        android:background="@drawable/semiTransparentDrk"
        android:textSize="24sp" 
        android:typeface="sans" 
        android:textStyle="bold" 
        android:ellipsize="end"
        android:scrollHorizontally="true"
        android:padding="10sp"/>
    <TextView 
        android:id="@ id/lv_bottomText"
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content"
        android:textColor="@drawable/ltGrey" 
        android:background="@drawable/semiTransparentDrk"
        android:textSize="18sp" 
        android:typeface="sans" 
        android:textStyle="bold"
        android:ellipsize="end"
        android:scrollHorizontally="true"
        />
</LinearLayout>
  

Комментарии:

1. Я думаю, что тогда я буду придерживаться класса Джеффа Шарки. Я обнаружил, что это проще реализовать, чем это. Спасибо за ответ, хотя

2. Я не смотрел на его пример до вашего комментария. Вы не можете превзойти полностью рабочий пример кода 😉 Приветствия.

Ответ №2:

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

Что-то вроде заголовков списков также не так сложно, Google действительно не нужно добавлять это в SDK.

Если вы хотите избежать повторного создания компонентов каждый раз при использовании проекта, затем настройте ваши любимые классы в проекте библиотеки Android. Существуют также библиотеки с компонентами с дополнительной функциональностью, такими как Green Droid и другие.

Комментарии:

1. Заголовки списков, вероятно, не сложны для того, кто занимается Java некоторое время, но для того, кто занимается этим всего неделю, это было довольно сложно. К счастью, у меня в фоновом режиме много actionscript, javascript и php, так что преодолеть это не составило особого труда. Я все еще пытаюсь разобраться в eclipse: D. Хотя я понимаю, что вы говорите. Я проверю green droid.