Добавление статических данных в динамически создаваемый ListView, использующий ListAdapter

#android #adapter #listadapter

#Android #адаптер #listadapter

Вопрос:

Я хотел бы добавить X количество статических строк в ListView, который использует ListAdapter / BaseAdapter для динамического заполнения ListView в данный момент. Есть предложения?

Заранее спасибо, Коул.

Мое решение: согласно предложениям @ Femi, в итоге я использовал MergeAdapter. Вот фрагмент того, что я сделал:

     // create a new MergeAdapter
    MergeAdapter aMergeAdapter = new MergeAdapter();

    // add the dynamic content
    SkipToListActivityValueAdapter skipToListActivityValueAdapter = 
        new SkipToListActivityValueAdapter(this, sections);
    aMergeAdapter.addAdapter(skipToListActivityValueAdapter);

    // add the static content
    ArrayAdapter<String> aArrayAdapter = 
        new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, ADDITIONAL_SKIP_TO_OPTIONS);
    aMergeAdapter.addAdapter(aArrayAdapter);

    // add the aMergeAdapter to the ListAdapter
    setListAdapter(aMergeAdapter);
  

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

1. По крайней мере, покажите свой код. Покажите, что вы сделали..

Ответ №1:

Ответ — это MergeAdapter от @commonsware. Смотрите https://github.com/commonsguy/cwac-merge подробнее, но невероятно удобный фрагмент кода для разнородных источников данных. Вы можете довольно красиво объединить несколько адаптеров и представлений в любом порядке, который вы хотите.

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

1. отлично! сейчас я импортирую файл .jar. я дам вам знать, как это происходит! спасибо за предложение!

2. Приятно знать, что это сработало. В моем случае я реализовал родительскую активность android.widget.AdapterView.OnItemClickListener; , а затем установил ее в качестве ListView прослушивателя (я не использовал ListActivity ). Затем я внедрил onItemClick , и это сработало.

3. понял — я просто добавил дополнительные if для позиций добавленных мной статических строк. дух!