Я пытаюсь использовать функции привязки данных Android с помощью настраиваемого адаптера и ListView. У меня возникли проблемы с переопределением метода адаптивного адаптера getView
:
public class ChecksAdapter extends ArrayAdapter<Check> {
public ChecksAdapter(Context context, ObservableList<Check> checks) {
super(context, R.layout.check, checks);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
CheckBinding binding = DataBindingUtil.inflate(
LayoutInflater.from(getContext()),
R.layout.check, parent, false);
binding.setCheck(this.getItem(position));
// Return what?
}
}
Итак, мои вопросы:
- Где я могу получить элемент
View
, который должен возвращать? Или, другими словами, как я могу привязать объект к завышенному/преобразованному представлению? - Как я могу повторно использовать
convertView
при использовании привязки данных? - Это правильный способ реализовать это? Руководство не очень понятно в ListViews
Здесь единственная ссылка ListViews в руководстве:
Если вы используете элементы привязки данных внутри адаптера ListView или RecyclerView, вы можете использовать:
ListItemBinding binding = ListItemBinding.inflate(layoutInflater, viewGroup, false); //or ListItemBinding binding = DataBindingUtil.inflate(layoutInflater, R.layout.list_item, viewGroup, false);