Андроид:Шаблон ViewHolder и разные типы строк?
-
21-09-2019 - |
Вопрос
Шаблон ViewHolder улучшает частоту кадров прокрутки ListView, как показано в следующем примере:https://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/view/List14.html
Можно ли сохранить этот шаблон, используя разные виды представлений для разных строк?
Другими словами, можно ли сделать что-то вроде:
public View getView(int position, View view, ViewGroup parent) {
// calculate viewID here
if (view == null || *view is not null but was created from different XML than viewID* ) {
view = mInflater.inflate(viewId, null);
Решение
Да, хотя гораздо лучше переопределить getViewTypeCount()
и getItemViewType()
в вашем адаптере.Это научит пул объектов Android возвращать вам только строку правильного типа. getView()
.
Не связан с StackOverflow