Формы списков

Продолжение, предыдущая часть здесь.

В этой части рассмотрим создание списков документов и справочников. Общие правила для отображения любых списков на Android одинаковы – создать адаптер подходящего типа и связать его ListView (или любым другим элементом UI)  для просмотра и манипуляции данными.

Пример отображения списка справочника, показанный в статье «Обзор адаптеров (часть 1)»  с помощью MetaArrayAdapter, может показаться сложным и затратным для начинающего разработчика, потребуется:
- подготовить xml макеты заголовка и элементов адаптера
- сделать выборку данных из справочника
- создать адаптер и назначить его источником данных для списка (ListView)

Если требуется всего лишь отобразить примитивную «форму списка/выбора» справочника или документа этот вариант будет не самым оптимальным. Для этих целей проще использовать классы SimpleDocumentListActivity и SimpleCatalogListActivity.

Документы

Начнем с отображения списка документов «Заказ покупателя», которые мы создавали программно в предыдущей части.

1. Создайте класс DocZakazListActivity наследник от SimpleDocumentListActivity. В Eclipse для этого вы можете использовать мастер:

На панели инструментов нажмите кнопку New Java Class

Напротив поля Superclass нажмите кнопку Browse... и в окне быстрого поиска начните вводить вводить имя класса родителя – SimpleDocumentListActivity.  

В место формального типа T нашего генерик-класса укажите тип DocumentZakazPokupatelya, задайте имя класса в поле Name и нажмите Finish. Будет сгенерирован новый файл/класс:

1
2
3
4
public class DocZakazListActivity extends
        SimpleDocumentListActivity<DocumentZakazPokupatelya> {
 
}
public class DocZakazListActivity extends
       	SimpleDocumentListActivity<DocumentZakazPokupatelya> {

}

2. Переопределите метод OnCreate:

1
2
3
4
5
6
7
@Override
protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
 
        setContentView(R.layout.fba_include_simple_list_layout);
        setContentListView();
}
@Override
protected void onCreate(Bundle savedInstanceState) {
            	super.onCreate(savedInstanceState);

    	setContentView(R.layout.fba_include_simple_list_layout);
    	setContentListView();
}

Здесь в качестве макета формы списка устанавливается предопределенный макет  fba_include_simple_list_layout (см. в подкаталоге layout проекта библиотеки ru_profi1c_fba)  и  сразу вызывается метод его инициализации setContentListView, обработка исключений опущена для наглядности. Все, этого достаточно для отображения простого списка документов.

Добавьте процедуру открытия этого списка из главной формы (Activity) вашего приложения. Пока сделаем это по нажатию на кнопку:

1
startActivity(new Intent(MainActivity.this,DocZakazListActivity.class));
startActivity(new Intent(MainActivity.this,DocZakazListActivity.class));

Не забудьте  прописать в манифест DocZakazListActivity:

1
<activity android:name="DocZakazListActivity"></activity>
<activity android:name="DocZakazListActivity"></activity>

Запускаем и проверяем:

В списке будут отображены все объекты данного типа, для документов по умолчанию показаны колонки: «Проведен», «Дата» и «Номер».

Похожие записи: