<dependency> <groupId>com.github.bumptech.glide</groupId> <artifactId>multitype</artifactId> <version>4.0.0</version> </dependency> import com.bumptech.glide.multitype.MultiTypeAdapter; public class DataProcessor { public static void processData(Object data) { MultiTypeAdapter multiTypeAdapter = new MultiTypeAdapter(); multiTypeAdapter.register(Person.class, new PersonProcessor()); multiTypeAdapter.setItems(Collections.singletonList(data)); multiTypeAdapter.notifyDataSetChanged(); } } import android.view.LayoutInflater; import android.view.ViewGroup; import android.widget.TextView; import com.bumptech.glide.DataResource; import com.bumptech.glide.RequestBuilder; import com.bumptech.glide.RequestManager; import com.bumptech.glide.RequestOptions; import com.bumptech.glide.integration.recyclerview.RecyclerViewPreloader; import com.bumptech.glide.load.engine.DiskCacheStrategy; import com.bumptech.glide.load.engine.Initializable; import com.bumptech.glide.signature.EmptySignature; import com.bumptech.glide.util.VersionSafeCallbacks; import com.bumptech.glide.util.ViewPreloadSizeProvider; public class PersonProcessor implements MultiTypeAdapter.Binder<Person, PersonViewHolder> { @Override public PersonViewHolder createViewHolder(LayoutInflater inflater, ViewGroup parent) { return new PersonViewHolder(inflater.inflate(R.layout.item_person, parent, false)); } @Override public void bind(PersonViewHolder holder, Person person) { holder.setName(person.getName()); } } public class PersonViewHolder extends RecyclerView.ViewHolder { private TextView nameTextView; public PersonViewHolder(View itemView) { super(itemView); nameTextView = itemView.findViewById(R.id.nameTextView); } public void setName(String name) { nameTextView.setText(name); } } Person person = new Person("John"); DataProcessor.processData(person);


上一篇:
下一篇:
切换中文