#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 для позиций добавленных мной статических строк. дух!