Skip to content

add CustomViewFinder support #38

@vivchar

Description

@vivchar

For example:
we have a custom view - AvatarView which contains special method setUrl
in current implementation we should implement

mRecyclerViewAdapter.registerRenderer(new ViewBinder<>(
	R.layout.item_layout,
	SomeModel.class,
	(model, finder, payloads) -> finder
                 .find(R.id.avatarView, (ViewProvider<AvatarView>) avatarView -> {
                         avatarView.setUrl(model.getUrl());
                 })
));

ideally we should have the ability to extend ViewFinder:

mRecyclerViewAdapter.registerRenderer(new ViewBinder<SomeModel, CustomViewFinder>(
	R.layout.item_layout,
	SomeModel.class,
	(model, finder, payloads) -> finder
                 .setUrl(R.id.avatarView, model.getUrl())
));
public class CustomViewFinder extends ViewFinderImpl {

	public CustomViewFinder(final View itemView) {
		super(itemView);
	}

	@NonNull
	public CustomViewFinder setUrl(@IdRes final int ID, @NonNull final String url) {
		((AvatarView) find(ID)).setUrl(url);
		return this;
	}
}

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions